链多个过渡

时间:2015-04-23 17:35:40

标签: java user-interface javafx

我对JavaFX有一点问题。我目前正在为蚂蚁算法做一个用户界面。

我想在循环中链接多个TranslateTransition。问题是,按创建顺序,只显示其中一个转换而不是全部TranslateTransition

while(condition){
   //some updates...
   TranslateTransition tt = new TranslateTransition(Duration.millis(2000), myObject);
   tt.play();
}

有没有办法确保之前的动画在播放新动画之前完成? 谢谢!

1 个答案:

答案 0 :(得分:0)

使用onFinished处理程序启动下一次转换。定义方法:

private TranslateTransition createNextTransition(Node myObject) {
    // some updates...
    TranslateTransition tt = new TranslateTransition(Duration.millis(2000), myObject);
    tt.setOnFinished(e -> {
        if (condition) {
            createNextTransition(myObject);
        }
    });
    tt.play();
}

然后只调用一次:

createNextTransition(myObject);