2016-05-10 16 views
0

私はCanvasで働いている - とAnimationTimerをJavaFXアプリケーションスレッドから分離する方法は?

唯一の通常の方法は、AnimationTimersで作業している...ので、スムーズに動作しない複数の単純スレッドからキャンバスのGraphicsContextに描画 - しかし、彼らは独立して動作していませんスレッド。アニメーションタイマーの中でwait()と呼ぶと、アプリケーション全体が停止します。

AnimationTimersをアプリケーションのメインスレッドから分離する方法はありますか?したがって、独立したスレッドとして実行され、アプリケーション全体を停止することなく待機しますか?

答えて

1

アプリケーションのメインスレッドからAnimationTimersを分離する方法はありますか?したがって、独立したスレッドとして実行され、アプリケーション全体を停止することなく待機しますか?

いいえ、独自のスレッドでアニメーションタイマーを実行することはできません。アニメーションタイマーは、JavaFXアプリケーションスレッド上のJavaFXシステムのすべてpulseで呼び出されるコールバックハンドラを提供します。

アニメーションタイマー内でwait()を呼び出すと、アプリケーション全体が停止します。 multipeシンプルなスレッドからキャンバスのGraphicsContextに描画

それをしないでください...

ので、スムーズに作業していません...

あなたはいけません複数のスレッドからグラフィックスコンテキストを呼び出すことができます。グラフィックスコンテキストはマルチスレッド構造ではなく、キャンバスがライブシーンにアタッチされると、そのAPIはJavaFXアプリケーションスレッドからのみ呼び出されるように構築されています。

関連する問題