在 JavaFx 标签中显示更改的值
在JavaFX中,如何使用“标签”显示随时间不断变化的值?
有很多方法可以实现这一点,最方便的方法是使用JavaFX的DataBinding机制:
// assuming you have defined a StringProperty called "valueProperty"
Label myLabel = new Label("Start");
myLabel.textProperty().bind(valueProperty);
这样,每次通过调用 set 方法更改 valueProperty 时,标签的文本都会更新。
使用SimpleDateFormat怎么样?不需要 StringUtilities 类!
private void bindToTime() {
Timeline timeline = new Timeline(
new KeyFrame(Duration.seconds(0),
new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent actionEvent) {
Calendar time = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
setText(simpleDateFormat.format(time.getTime()));
}
}
),
new KeyFrame(Duration.seconds(1))
);
timeline.setCycleCount(Animation.INDEFINITE);
timeline.play();
}
}