6

私は Java Swing を初めて使用します。私の質問は、イベント キューとディスパッチ スレッドに関連しています。

AppContextインスタンスごとに複数のイベント キューを持つことが可能であると読みました。同様に、各 AppContext イベント キューには独自のイベント ディスパッチ スレッドがあるということですか。

4

2 に答える 2

3

私が知る限り、1 つのイベント ディスパッチ スレッドしか持つことができません。

どうやらAppContext は開発者が使用することを意図していないようですが、私はそれに慣れていません。

于 2011-09-06T16:52:30.767 に答える
1

1) 基本的に、コードが EDT で実行されるかどうかを知るだけで済みます (すべての変更は EDT で実行する必要があります)。

2) ご不明な点がございましたら、お試しいただけます

if (EventQueue.isDispatchThread()) {

または (これは同じで、EDT の場合は true を返します)

if (SwingUtilities.isEventDispatchThread()) {

詳細はこちらまたはこちら

3) バックグラウンド タスクからのすべての出力は、Swing での同時実行invokeLater()に関する基本的なものにラップする必要があります。

于 2011-09-06T18:05:27.237 に答える