javafx - 让 JavaFX 等待时间线完成

标签 javafx timeline

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

最佳答案

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

  • 仅使用一个 Timeline并移动 KeyFrame s 从您的第二个时间线到第一个时间线,调整开始持续时间。
  • 第一个时间线完成后开始第二个时间线:timeline1.setOnFinished(e -> timeline2.play()) .
  • 如果可以,请使用 Transition s 而不是 Timeline s 并将它们包裹在 SequentialTransition 中.
  • 关于javafx - 让 JavaFX 等待时间线完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29053966/

    相关文章:

    jquery - float DIV

    javascript - HTML/JavaScript 可选时间线

    google-chrome - 在 Chrome 开发工具时间线中 : what do the red marks mean?

    java - 如何从 FileChooser JavaFX 获取路径对象

    java - Localdate.format,格式不适用

    java - 如何在 JavaFx 中在圆上放一个点,使其成为圆的一部分?

    JavaFX StackedBarChart - 清除系列在图表中留下不可见的数据

    java - 如何在 javafx 中将任何文本或字母转换为图像

    javascript - 为什么 Chrome 需要 12 秒来执行更新图层树?

    hadoop - yarn 时间轴服务器日志聚合