JavaFXアプリケーションスレッド。私が見つけることができるソースは、このスレッドでノード上のすべての更新が行われなければならないと言います。アプリケーションスレッド外のJavaFXライブノードの更新
私はこの文書を見つけようとしていますが、この規則に例外があるとします。 https://docs.oracle.com/javase/8/javafx/interoperability-tutorial/concurrency.htm それが言うように:
JavaFXアプリケーションのグラフィカル・ユーザ・インタフェースを表すのJavaFXシーングラフは、スレッドセーフではなく、唯一のものJavaFXとして知られているUIスレッドからアクセスされ、変更することができアプリケーションスレッド。
https://docs.oracle.com/javase/8/javafx/get-started-tutorial/jfx-architecture.htm#A1107438
ウィンドウの一部であるシーンでどれ「ライブ」のシーンは、このスレッドからアクセスする必要があります。シーングラフはバックグラウンドスレッドで作成および操作できますが、そのルートノードがシーン内の任意のライブオブジェクトにアタッチされている場合、そのシーングラフにはJavaFXアプリケーションスレッドからアクセスする必要があります。
ノード上のすべての更新をJavaFX ATで実行する必要がないことがありました。ノードを更新するための呼び出しの中には、このスレッド外で正常に動作するものがあります。 たとえば、text textPropertyを更新する場合、JavaFX AT内で実行する必要はありません。したがって、ツールヒントの設定や可視性の変更/無効化/管理のようには見えません。 JavaFXのATの外
アップデートレーベルtextPropertyは
IllegalStateExceptionがスローされます:ないFXのアプリケーションスレッドに、 currentThread = Task
ご清聴ありがとうございます。それは動作する可能性があるが、予測できないエラーがあることを述べているSwingのドキュメント。 https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html JavaFXの免責条項はありません.FXアプリケーション・スレッドで実行する必要があります。 – DJViking
@DJVikingそれはシングルスレッドだと言います。ツールキットを使用しているプログラマが、複数のスレッドにわたって単一スレッドAPIを使用することの結果を理解していると仮定するのはおそらく合理的です。 –