2017-06-26 5 views
-1

を使用せずにタスクを使用して、私は上の私のペインを更新したいとき:私が得る更新のJavaFX UI私はJavaFXのUIを更新したいが、私はPlatform.RunLaterを使用したくないけどPlatform.RunLater

Pane.getChildren().add(listview); 

java.lang.illegalStateException:java fxアプリケーションスレッドではない現在のスレッド

+2

すべてのUIアクティビティは特別なスレッドで実行する必要があります。「runLater」はそれを達成する最も簡単な方法です。なぜあなたは 'Platform.RunLater'を使いたくないのですか? –

+0

私が読んだところでは、それは大きくて長い仕事のために推奨されていないからです。 –

+1

@navidmahdianリストビューをペインに追加することは大きな仕事ではありません。 –

答えて

0

Platform.runLater()を使用してUIスレッドのUI要素を更新する必要があります。

長時間実行するタスクがある場合は、最初にタスクを実行し、タスクの結果をUIに更新します。

Object taskResult = GetLongRunningTaskResult(); 
Platform.runLater(() -> Pane.getChildren().add(taskResult)); 
関連する問題