[英]How can I update label's text using Timeline in JavaFX?
因此,基本上,我正在创建一个模拟系统,该系统模拟由于某些因素而导致的房间温度升高和降低。 我想使用标签输出温度随时间的变化。 我试过以这种方式使用时间轴:
Timeline timeline = new Timeline();
List<KeyValue> values = new ArrayList<KeyValue>();
values.add(new KeyValue(label.textProperty(), "1"));
values.add(new KeyValue(label.textProperty(), "2"));
values.add(new KeyValue(label.textProperty(), "3"));
values.add(new KeyValue(label.textProperty(), "4"));
timeline.getKeyFrames().add(new KeyFrame(new Duration(4000), values.toArray(new KeyValue[values.size()])));
timeline.play();
我希望这段代码先显示“ 1”,然后显示“ 2”,但是它只等待4秒钟,然后将标签的文本更改为“ 4”。
如何实现我想要的逐步改变?
谢谢!
时间线完全按照您的编程设置(在4秒钟后,连续四次更改标签文本)。
如果要以较小的延迟一个接一个地更改标签文本,则必须使用更多的关键帧:
timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(4), new KeyValue(label.textProperty(), "1")));
timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(5), new KeyValue(label.textProperty(), "2")));
timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(6), new KeyValue(label.textProperty(), "3")));
等等..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.