通常,此代码必须在JavaFX中更新TableView
的持续时间字段,但不知怎的,我无法使其工作。当我使用newCli.durationProperty().setValue(Integer.ToString(seconds++));
但它无法以这种方式工作时,它可以正常工作,也许我错过了一些简单的东西,任何帮助都会受到赞赏。我尝试使用SimpleDateFormat
格式化文本,但结果却相同。
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
int seconds=0;
@Override
public void run() {
Platform.runLater(new Runnable() {
@Override
public void run() {
int hr = seconds/3600;
int rem = seconds%3600;
int mn = rem/60;
int sec = rem%60;
String hrStr = (hr<10 ? "0" : "")+hr;
String mnStr = (mn<10 ? "0" : "")+mn;
String secStr = (sec<10 ? "0" : "")+sec;
StringBuilder sb=new StringBuilder();
sb.append(hrStr+":"+mnStr+":"+secStr);
newCli.durationProperty().setValue(sb.toString());
seconds = seconds++;
}
});
}
}, 0, 1000);