Java SwingSwingUtilities.invokeLater()では、最後の AWT イベント (ユーザー ジェスチャ) が処理された後に実行するスレッドをキューに入れることができます。
invokeLater()ドラッグ アンド ドロップ ジェスチャが完了するまで待機することが保証されていますか?
Java SwingSwingUtilities.invokeLater()では、最後の AWT イベント (ユーザー ジェスチャ) が処理された後に実行するスレッドをキューに入れることができます。
invokeLater()ドラッグ アンド ドロップ ジェスチャが完了するまで待機することが保証されていますか?
いいえ、EventQueueキューに入れられた のインスタンスに対して次の 2 つのことを保証しますRunnable。
インスタンスは順次実行されます。
その実行は、インスタンスがキューに入れられるのと同じ順序になります。
動作する方法は、イベント ディスパッチ スレッドで順番に実行されるオブジェクトのリストにinvokeLaterあなたを追加することです。RunnableEDT は、マウス イベント、キー イベント、再描画など、アプリケーションで発生するすべてのイベントを処理します。invokeLaterドラッグ アンド ドロップ ジェスチャが終了するまで待機するには、DnD ジェスチャで EDT をブロックする必要があります。それは完全に完成しました。これは、DnD ジェスチャが終了するまで、アプリケーションが完全に応答しなくなることも意味します。
いいえ、DnD ジェスチャが終了するまで待機しinvokeLaterません。