1

Java SwingSwingUtilities.invokeLater()では、最後の AWT イベント (ユーザー ジェスチャ) が処理された後に実行するスレッドをキューに入れることができます。

invokeLater()ドラッグ アンド ドロップ ジェスチャが完了するまで待機することが保証されていますか?

4

2 に答える 2

5

いいえ、EventQueueキューに入れられた のインスタンスに対して次の 2 つのことを保証しますRunnable

  • インスタンスは順次実行されます。

  • その実行は、インスタンスがキューに入れられるのと同じ順序になります。

于 2012-07-26T22:27:33.663 に答える
1

動作する方法は、イベント ディスパッチ スレッドで順番に実行されるオブジェクトのリストにinvokeLaterあなたを追加することです。RunnableEDT は、マウス イベント、キー イベント、再描画など、アプリケーションで発生するすべてのイベントを処理します。invokeLaterドラッグ アンド ドロップ ジェスチャが終了するまで待機するには、DnD ジェスチャで EDT をブロックする必要があります。それは完全に完成しました。これは、DnD ジェスチャが終了するまで、アプリケーションが完全に応答しなくなることも意味します。

いいえ、DnD ジェスチャが終了するまで待機しinvokeLaterません。

于 2012-07-26T23:57:31.010 に答える