【问题标题】:make JavaFX wait until Timeline finishes让 JavaFX 等到时间线完成
【发布时间】:2015-03-14 20:42:38
【问题描述】:

我有两个在一个函数内运行的时间线,它们都影响一个对象,问题是当我播放第一个时间线时,其他时间线也在下一行代码中开始,我怎样才能等到第一个时间线完成然后播放另一个时间线?

【问题讨论】:

    标签: javafx timeline


    【解决方案1】:

    Timeline.play() 是异步的——它在后台启动动画并立即返回。有几种方法可以实现顺序执行。哪种最适合取决于您的用例。

    1. 仅使用一个 Timeline 并将 KeyFrames 从第二个时间线移动到第一个时间线,并调整开始持续时间。
    2. 在第一个时间线完成后开始第二个时间线:timeline1.setOnFinished(e -> timeline2.play())
    3. 如果可以,请使用 Transitions 而不是 Timelines 并将它们包装在 SequentialTransition 中。

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 2020-09-21
      相关资源
      最近更新 更多