要使用定時器解決你的任務,你需要實現TimerTask
與您的代碼,並使用Timer#scheduleAtFixedRate
方法反覆運行代碼:
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.print("I would be called every 2 seconds");
}
}, 0, 2000);
還要注意,調用任何UI操作必須Swing的UI線程(或FX UI線程,如果你正在使用JavaFX)來完成:
private int i = 0;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
jTextField1.setText(Integer.toString(i++));
}
});
}
}, 0, 2000);
}
在JavaFX的情況下,你需要在「FX更新外匯管制UI線程「而不是Swing之一。爲了實現這一目標使用javafx.application.Platform#runLater
方法,而不是SwingUtilities的
你能告訴我你的代碼。所以我可以看到任何更正。 –
https://stackoverflow.com/questions/42383857/javafx-live-time-and-date/42384436#42384436 –