繁体   English   中英

如何使用JavaFX中的时间轴更新标签的文本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM