Java FX动画

时间:2017-09-17 18:56:08

标签: java animation events javafx graphics

屏幕上有一组线条。当我按下“开始”按钮时,应该运行动画。动画是这样的:
1)显示第1行,等待1000毫秒
2)显示第2行,等待1000毫秒
3)隐藏第1行,第2行并显示第3行,等待1000毫秒
   等等。
当我按“停止”时,我必须停止此动画并显示初始状态。所以我的问题是:我是否必须使用某些类的javafx.animation包?据我所知,节点有一些模板动画,如移动,旋转等。但是我需要显示和隐藏不同节点的序列。
或者我应该通过ExecutorService在新线程中运行此序列,并在按下“停止”时关闭它?解决这个问题的最佳方法是什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

使用Timelineevent handlers on the KeyFrames

Timeline timeline = new Timeline(
    new KeyFrame(Duration.ZERO, e -> { /* show line 1 */}),
    new KeyFrame(Duration.seconds(1), e -> { /* show line 2 */}),
    new KeyFrame(Duration.seconds(2), e -> { 
        // hide line 1
        // hide line 2
        // show line 3
    }),
    new KeyFrame(Duration.seconds(3), e -> {/* etc. */}));
timeline.play();