コンポーネントの「状態に依存する」あるいは「状態に影響を与える」処理はすべてイベントディスパッチスレッド上で動作しなければならない
SwingUtilities.invokeLater(Runnable obj);
Runnableobjのrunメソッドをイベントディスパッチスレッドで非同期的に実行させる
他のスレッドでコンポーネントを変更する場合
スレッドからinvokeLaterを呼び出し、変更処理をイベントディスパッチスレッドで実行させる
※別スレッドからの直接変更もできるが、悪影響があるのかも?
※mainからのコンポーネント作成/表示も同様にイベントディスパッチスレッドで実行させる?(sampleはそうしている)
0 件のコメント:
コメントを投稿