私はTask
いくつかの計算を行うために を使用しています。この計算の出力は文字列として保存されます。計算が完了すると、出力が に表示されますTextArea
。のテキストonSucceeded
を設定するためにタスクを使用しても安全ですか? TextArea
そうでない場合、タスクが終了するまで待ってから出力を .xml ファイルに書き込むための最良の/推奨される方法はTextArea
何ですか?
ヒントをありがとう:-)
私はTask
いくつかの計算を行うために を使用しています。この計算の出力は文字列として保存されます。計算が完了すると、出力が に表示されますTextArea
。のテキストonSucceeded
を設定するためにタスクを使用しても安全ですか? TextArea
そうでない場合、タスクが終了するまで待ってから出力を .xml ファイルに書き込むための最良の/推奨される方法はTextArea
何ですか?
ヒントをありがとう:-)
はい、 Task
javadocからの引用を参照してください。
Task は JavaFX GUI アプリケーションで使用するように設計されているため、パブリック プロパティへのすべての変更、および状態、エラー、イベント ハンドラの変更通知がすべてメイン JavaFX アプリケーション スレッドで発生することが保証されます。
次のコードを使用して、そのようなケースを自分で確認できます。
task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent t) {
System.out.println(Thread.currentThread().getName());
}
});
出力は次のようになります。
JavaFX アプリケーションスレッド