3

私はTaskいくつかの計算を行うために を使用しています。この計算の出力は文字列として保存されます。計算が完了すると、出力が に表示されますTextArea。のテキストonSucceededを設定するためにタスクを使用しても安全ですか? TextAreaそうでない場合、タスクが終了するまで待ってから出力を .xml ファイルに書き込むための最良の/推奨される方法はTextArea何ですか?

ヒントをありがとう:-)

4

1 に答える 1

3

はい、 Task javadocからの引用を参照してください。

Task は JavaFX GUI アプリケーションで使用するように設計されているため、パブリック プロパティへのすべての変更、および状態、エラー、イベント ハンドラの変更通知がすべてメイン JavaFX アプリケーション スレッドで発生することが保証されます。

次のコードを使用して、そのようなケースを自分で確認できます。

task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {

        @Override
        public void handle(WorkerStateEvent t) {
            System.out.println(Thread.currentThread().getName());
        }
    });

出力は次のようになります。

JavaFX アプリケーションスレッド

于 2013-05-29T18:14:00.477 に答える