私は Java Swing を初めて使用します。私の質問は、イベント キューとディスパッチ スレッドに関連しています。
AppContextインスタンスごとに複数のイベント キューを持つことが可能であると読みました。同様に、各 AppContext イベント キューには独自のイベント ディスパッチ スレッドがあるということですか。
私は Java Swing を初めて使用します。私の質問は、イベント キューとディスパッチ スレッドに関連しています。
AppContextインスタンスごとに複数のイベント キューを持つことが可能であると読みました。同様に、各 AppContext イベント キューには独自のイベント ディスパッチ スレッドがあるということですか。
私が知る限り、1 つのイベント ディスパッチ スレッドしか持つことができません。
どうやらAppContext は開発者が使用することを意図していないようですが、私はそれに慣れていません。
1) 基本的に、コードが EDT で実行されるかどうかを知るだけで済みます (すべての変更は EDT で実行する必要があります)。
2) ご不明な点がございましたら、お試しいただけます
if (EventQueue.isDispatchThread()) {
または (これは同じで、EDT の場合は true を返します)
if (SwingUtilities.isEventDispatchThread()) {
3) バックグラウンド タスクからのすべての出力は、Swing での同時実行invokeLater()
に関する基本的なものにラップする必要があります。