オブジェクトのリストを格納するスイング アプリケーションがあります。ユーザーがボタンをクリックすると、
リスト内の各オブジェクトに対して 2 つの操作を実行し、それが完了したら、JPanel で結果をグラフ化します。SwingWorker、Callable、Runnable で処理を試みましたが、何をしても、リストの処理中に (IO バウンドであるため、最大で数分かかる場合があります)、GUI がロックされます。
おそらくスレッドか何かを呼び出す方法だと思いますか、それともグラフ機能に関係している可能性がありますか? 非常に高速であるため、スレッド化されていません。
2 つの処理段階も順番に実行する必要があるため、2 番目の段階が最初の段階で確実に待機するようにする最善の方法は何ですか? join() を使用してから、
while(x.isAlive())
{
Thread.sleep(1000);
}
これを確実にしようとしていますが、これが私の問題の原因でもあるのではないかと心配しています.
私はどこでもいくつかのポインタを探してきましたが、何も見つからないので、ここで愚かなことをしていると確信しています.