要使用定时器解决你的任务,你需要实现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 –