一部の Swing コンポーネントを更新する任意の同期メソッドに対して、このメソッドを呼び出すスレッドがすべて Swing Timer またはSwingUtilities.invokeLater()
. Swing Timer タスク内で invokeLater() を呼び出す必要はなくなると思います。
したがって、いくつかの Swing タイマーとコンポーネントを更新するいくつかのオブザーバーを用意します。オブザーバーはすべて呼び出しinvokeLater()
、Swing タイマーは私の任意のメソッドupdateComponents()
を直接呼び出します。
それでもデッドロックが発生する可能性がある場合、invokeLater()
デッドロックが発生しないことを確認できますか?