我有一系列动画,一个接一个地启动,如下面的代码所示。
animPath.playFromStart();
animPath.setOnFinished((evt) -> {
TranslateTransition tCut = showText(lblCutover);
tCut.playFromStart();
lblCutover.setVisible(true);
tCut.setOnFinished((e11) -> {
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
Logger.getLogger(ARUOLandingPageController.class.getName()).log(Level.SEVERE, null, ex);
}
TranslateTransition tCutBack = hideText(lblCutover);
tCutBack.playFromStart();
tCutBack.setOnFinished((e12) -> {
lblCutover.setVisible(false);
anim11.playFromStart();
anim11.setOnFinished((evt11) -> {
(Some new animation)...
});
});
});
});
我有两种类型的动画。一个是路径动画,另一个是翻译动画。路径动画后不需要时间间隔。
但是在完成一个翻译动画后,我想为下一个动画开始给出10秒的时间间隔。
我使用了Thread.Sleep(10000)
,但它停止了整个舞台。如果我点击任何地方,舞台就没有响应。
有没有办法可以在这些动画之间设置时间间隔而不影响我的ui中的任何其他部分?