在 JavaFx 标签中显示更改的值

2022-09-01 21:52:00

在JavaFX中,如何使用“标签”显示随时间不断变化的值?


答案 1

有很多方法可以实现这一点,最方便的方法是使用JavaFX的DataBinding机制:

// assuming you have defined a StringProperty called "valueProperty"
Label myLabel = new Label("Start");
myLabel.textProperty().bind(valueProperty);

这样,每次通过调用 set 方法更改 valueProperty 时,标签的文本都会更新。


答案 2

使用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();
 }
}

推荐