如何将AnimationTimer与JavaFX应用程序线程分开?

时间:2016-05-10 19:59:21

标签: java multithreading javafx

我正在使用Canvas - 并且从多个简单线程中绘制画布的GraphicsContext并不是那么顺利......

唯一正常的方法是使用AnimationTimers - 但它们不是作为单独的线程工作。当我在动画计时器内调用wait()时,它会停止整个应用程序。

有一种方法可以将AnimationTimers与应用程序的主线程分开吗?那么它将作为独立线程运行并等待而不停止整个应用程序?

1 个答案:

答案 0 :(得分:1)

  

有一种方法可以从应用程序的主线程中分离AnimationTimers吗?那么它将作为独立线程运行并等待而不停止整个应用程序?

不,你不能在它自己的线程上运行动画计时器。动画计时器提供在JavaFX应用程序线程上的每个pulse JavaFX系统上调用的回调处理程序。

  

当我在动画计时器中调用wait()时,它会停止整个应用程序。

不要这样做......

  

从multipe简单线程绘制画布的GraphicsContext不能如此流畅......

您不应该从多个线程调用图形上下文。图形上下文不是多线程构造,它的API构建为只有在画布附加到实时场景后才从JavaFX应用程序线程调用。