Swingでは、GUIコンポーネントはスレッドセーフではないため、GUIはEDTによってのみ更新されることになっています。
私の質問は、特定のコンポーネントの更新専用のEDT以外の単一のスレッドがあり、このコンポーネントがプログラム内の他のスレッドからアクセスされていない場合、この専用スレッドのみがアクセスできるかどうかです。私の場合JTable
、スレッドがネットワークから情報を受け取り、テーブルを更新します(を使用せずにEventQueue.invokeLater
)。他のすべてのコンポーネントはEDTから更新されます。今のところ問題は見ていませんが、やがてバグが発生するのではないかと思っていました。
UPDATE 私の目的は、テーブルをリアルタイムで更新することでした。データは常にネットワークから取得されます。このために、テーブル専用の1つのスレッドを使用して、データが取得されたときに常に更新します。SwingUtilities.invokeLaterを使用する場合、これは、EDTが使用可能になったときにテーブルが更新されることを意味します。スイングはリアルタイムの更新要件に使用されることになっていますか?