- java.lang.Object
- 
- java.awt.EventQueue
 
- 
 public class EventQueue extends Object EventQueueは、基本となるピア・クラスと信頼できるアプリケーション・クラスの両方からのイベントをキューに入れる、プラットフォームに依存しないクラスです。キューからイベントを抽出する非同期イベント・ディスパッチ機構をカプセル化し、ディスパッチされるイベントを引数として EventQueueのdispatchEvent(AWTEvent)メソッドを呼び出すことによりディスパッチします。 実際の動作は実装によって異なります。 唯一の要件は、このキュー(EventQueueに送られたイベントは合体できる)に実際に入れられたイベントをディスパッチすることです。- 順次
- これが指定されている場合、このキューの複数イベントの同時ディスパッチは許可されません。
- キューに入れられた順序
-  AWTEventAがAWTEventBよりも前にEventQueueに入れられた場合、イベントBをイベントAよりも前にディスパッチすることはできません。
 一部のブラウザは、異なるコード・ベースのアプレットを別のコンテキストに分割し、これらのコンテキストの間に壁を構築します。 この場合、各コンテキストごとに1つの EventQueueが存在することになります。 すべてのアプレットを同じコンテキストに置き、1つのグローバルEventQueueですべてのアプレットを動作させるブラウザもあります。 この動作は実装に依存します。 詳細はブラウザのマニュアルを参照してください。イベント・ディスパッチ機能のスレッド問題については「AWTのスレッドの問題」を参照してください。 - 導入されたバージョン:
- 1.1
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 EventQueue()EventQueueの新しいインスタンスを初期化します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 SecondaryLoopcreateSecondaryLoop()このイベント・キューに関連付けられた新しいsecondary loopを作成します。protected voiddispatchEvent(AWTEvent event)イベントをディスパッチします。static AWTEventgetCurrentEvent()呼び出しスレッドに関連付けられたEventQueueによって現在ディスパッチされているイベントを返します。static longgetMostRecentEventTime()タイムスタンプを含み、呼出し元スレッドに関連付けられたEventQueueからディスパッチされた最新のイベントのタイムスタンプを返します。AWTEventgetNextEvent()EventQueueからイベントを削除し、そのイベントを返します。static voidinvokeAndWait(Runnable runnable)runnableのrunメソッドがthe system EventQueueのdispatch threadで呼び出されるようにします。static voidinvokeLater(Runnable runnable)runnableのrunメソッドがthe system EventQueueのdispatch threadで呼び出されるようにします。static booleanisDispatchThread()呼出し元スレッドがthe current AWT EventQueueのディスパッチ・スレッドである場合はtrueを返します。AWTEventpeekEvent()EventQueue上の最初のイベントを削除せずに返します。AWTEventpeekEvent(int id)指定されたIDを持つイベントがある場合、その中の最初のイベントを返します。protected voidpop()このEventQueueを使用するイベントのディスパッチを停止します。voidpostEvent(AWTEvent theEvent)1.1形式のイベントをEventQueueに送信します。voidpush(EventQueue newEventQueue)既存のEventQueueを指定されたものに置き換えます。
 
- 
- 
- 
メソッドの詳細- 
postEventpublic void postEvent(AWTEvent theEvent) 1.1形式のイベントをEventQueueに送信します。 同じIDおよびイベント・ソースを持つイベントがキューにある場合は、ソースComponentのcoalesceEventsメソッドが呼び出されます。- パラメータ:
- theEvent-- java.awt.AWTEventのインスタンス、またはそのサブクラス
- 例外:
- NullPointerException-- theEventが- nullの場合
 
 - 
getNextEventpublic AWTEvent getNextEvent() throws InterruptedException EventQueueからイベントを削除し、そのイベントを返します。 このメソッドは、別のスレッドによってイベントが送信されるまでブロックされます。- 戻り値:
- 次のAWTEvent
- 例外:
- InterruptedException- いずれかのスレッドがこのスレッドに割り込んだ場合
 
 - 
peekEventpublic AWTEvent peekEvent() EventQueue上の最初のイベントを削除せずに返します。- 戻り値:
- 最初のイベント
 
 - 
peekEventpublic AWTEvent peekEvent(int id) 指定されたIDを持つイベントがある場合、その中の最初のイベントを返します。- パラメータ:
- id- 要求するイベント型のID
- 戻り値:
- 指定されたIDを持つ最初のイベント。このIDを持つイベントが存在しない場合はnull
 
 - 
dispatchEventprotected void dispatchEvent(AWTEvent event) イベントをディスパッチします。 ディスパッチ方法は、イベントの型およびイベントのソース・オブジェクトの型によって異なります。イベント型、ソース型、ディスパッチ方法 イベント型 ソース型 ディスパッチ方法 ActiveEvent 任意 event.dispatch() その他 Component source.dispatchEvent(AWTEvent) その他 MenuComponent source.dispatchEvent(AWTEvent) その他 その他 処理されない(無視される) - パラメータ:
- event-- java.awt.AWTEventのインスタンス、またはそのサブクラス
- 例外:
- NullPointerException-- eventが- nullの場合
- 導入されたバージョン:
- 1.2
 
 - 
getMostRecentEventTimepublic static long getMostRecentEventTime() タイムスタンプを含み、呼出し元スレッドに関連付けられたEventQueueからディスパッチされた最新のイベントのタイムスタンプを返します。 タイムスタンプを持つイベントがディスパッチ中の場合、そのタイムスタンプが返されます。 イベントがまったくディスパッチされていない場合、EventQueueが初期化された時間が返されます。JDKの現在のバージョンでは、InputEvent、ActionEvent、およびInvocationEventだけがタイムスタンプを持ちますが、将来のバージョンではほかのイベント型にもタイムスタンプが追加される可能性があります。 このメソッドはアプリケーションのイベント・ディスパッチ・スレッドからのみ呼び出すようにしてください。 ほかのスレッドから呼び出した場合、System.currentTimeMillis()でレポートされる現在のシステム時刻が返されます。- 戻り値:
- ディスパッチされる、最後のInputEvent、ActionEvent、またはInvocationEventのタイムスタンプ。このメソッドがイベント・ディスパッチ・スレッド以外のスレッドから呼び出される場合はSystem.currentTimeMillis()
- 導入されたバージョン:
- 1.4
- 関連項目:
- InputEvent.getWhen(),- ActionEvent.getWhen(),- InvocationEvent.getWhen(),- isDispatchThread()
 
 - 
getCurrentEventpublic static AWTEvent getCurrentEvent() 呼び出しスレッドに関連付けられたEventQueueによって現在ディスパッチされているイベントを返します。 メソッドがイベントにアクセスする必要があり、イベントへの参照を引数として受け取るよう設計されていない場合に有効です。 このメソッドはアプリケーションのイベント・ディスパッチ・スレッドからだけ呼び出すようにしてください。 ほかのスレッドから呼び出した場合、nullが返されます。- 戻り値:
- 現在ディスパッチされているイベント。このメソッドがイベント・ディスパッチ・スレッド以外のスレッドから呼び出されている場合はnull
- 導入されたバージョン:
- 1.4
 
 - 
pushpublic void push(EventQueue newEventQueue) 既存のEventQueueを指定されたものに置き換えます。 待ち状態のイベントは、処理のために新しいEventQueueに転送されます。- パラメータ:
- newEventQueue- 使用される- EventQueueまたはそのサブクラスのインスタンス
- 例外:
- NullPointerException-- newEventQueueが- nullの場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- pop()
 
 - 
popprotected void pop() throws EmptyStackExceptionこのEventQueueを使用するイベントのディスパッチを停止します。 待ち状態のイベントは、処理のために前のEventQueueに転送されます。警告: デッドロック回避のため、このメソッドをサブクラスで同期宣言しないようにします。 - 例外:
- EmptyStackException- この- EventQueueで以前にプッシュが行われていない場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- push(java.awt.EventQueue)
 
 - 
createSecondaryLooppublic SecondaryLoop createSecondaryLoop() このイベント・キューに関連付けられた新しいsecondary loopを作成します。 イベント・ループの開始と停止を行い、このキューからイベントをディスパッチするには、SecondaryLoop.enter()メソッドとSecondaryLoop.exit()メソッドを使用します。- 戻り値:
- 新しいセカンダリ・ループ・オブジェクトsecondaryLoop。ネストされた新しいイベント・ループを起動し、このキューからイベントをディスパッチするために使用できる
- 導入されたバージョン:
- 1.7
- 関連項目:
- SecondaryLoop.enter(),- SecondaryLoop.exit()
 
 - 
isDispatchThreadpublic static boolean isDispatchThread() 呼出し元スレッドがthe current AWT EventQueueのディスパッチ・スレッドである場合はtrueを返します。 特定のタスクが実行されている(または実行されていない)ことを確認するには、このメソッドを使用します。注: the current AWT EventQueueのディスパッチ・スレッドでタスクを実行するには、invokeLater(java.lang.Runnable)メソッドまたはinvokeAndWait(java.lang.Runnable)メソッドを使用します。- 戻り値:
- the current AWT EventQueueのディスパッチ・スレッドで実行されている場合はtrue
- 導入されたバージョン:
- 1.2
- 関連項目:
- invokeLater(java.lang.Runnable),- invokeAndWait(java.lang.Runnable),- Toolkit.getSystemEventQueue()
 
 - 
invokeLaterpublic static void invokeLater(Runnable runnable) runnableのrunメソッドがthe system EventQueueのdispatch threadで呼び出されるようにします。 待ち状態のすべてのイベントが処理されたあとで実行されます。- パラメータ:
- runnable-- runメソッドが- the system EventQueueの- event dispatch threadで非同期に実行されなければならない- Runnable
- 導入されたバージョン:
- 1.2
- 関連項目:
- invokeAndWait(java.lang.Runnable),- Toolkit.getSystemEventQueue(),- isDispatchThread()
 
 - 
invokeAndWaitpublic static void invokeAndWait(Runnable runnable) throws InterruptedException, InvocationTargetException runnableのrunメソッドがthe system EventQueueのdispatch threadで呼び出されるようにします。 待ち状態のすべてのイベントが処理されたあとで実行されます。 呼出しはこれが実行されるまでブロックされます。 このメソッドは、event dispatcher threadから呼び出されるとErrorをスローします。- パラメータ:
- runnable-- runメソッドが- the system EventQueueの- event dispatch threadで同期で実行されなければならない- Runnable
- 例外:
- InterruptedException- いずれかのスレッドがこのスレッドに割り込んだ場合
- InvocationTargetException-- runnableの動作中にThrowableがスローされる場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- invokeLater(java.lang.Runnable),- Toolkit.getSystemEventQueue(),- isDispatchThread()
 
 
- 
 
-