JFrameでprogressBarを更新しながら、バックグラウンドで計算するスイングワーカーを持っています。SwingWorkerが完了するまで待つ方法は?
私のメインスレッドがdoInBackground()が終了するまで待つことができますか?
私はdone()メソッドで物事を入れることができると知っていますが、プログラムを実際に待機させる方法があったのかどうか疑問に思っていました。
モーダルJDialogと同様のものです。
そう...
SwingWorker a = new SwingWorker();
a.execute
doOtherStuff();
doOtherStuffは、doInBackgroundの完了が、SwingWorkerののなさ()メソッドでは前記方法をかけることなく、した後にのみ実行されます。
の値を監視して、SwingWorkerが「非同期」操作を表しているかどうかを監視することができます。このパラダイムでは、「次の」ことをコールバックで処理する必要があります。そうでなければ、非同期イベントソースとして使用することはほとんどありません。 JDialogsはひどいハック自体です。私はエミュレートしようと勧めています。 –