所以基本上我正在创建一个模拟系统,模拟由于某些因素导致房间温度上升和下降。 我想使用Label输出温度随时间变化的方式。我已经尝试过以这种方式使用时间轴:
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”。
我怎样才能实现我想要的渐变?
谢谢!
答案 0 :(得分:1)
TimeLine完全按照您编程的方式完成(4秒后连续四次更改标签文字)。
如果您希望以较小的延迟一个接一个地更改标签文字,则必须使用更多的KeyFrame:
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")));
依旧......