|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.EventQueue
EventQueue
はどのプラットフォームでも共通のクラスであり、配下のピアクラスと信頼できるアプリケーションクラスからのイベントをキューに入れます。
この EventQueue
に対して、ディスパッチ対象のイベントを引数として dispatchEvent(AWTEvent)
メソッドを呼び出し、イベントをキューから抽出してディスパッチを行う、非同期イベントディスパッチ機能をカプセル化します。この機能の一部の動作は実装によって変わります。条件は実際にこのキューに入れられたイベントをディスパッチするということだけです。EventQueue
に送信中のイベントはキューに入れられたものと同じように扱うことができます。
AWTEvent
A が AWTEvent
B よりも前に EventQueue
に入れられている場合、イベント B をイベント A よりも前にディスパッチすることはできません。
ブラウザによっては、コードベースが異なるアプレットを個別のコンテキストに分割し、これらのコンテキストを独立して扱うものがあります。この場合、各コンテキストごとに 1 つの EventQueue
が存在することになります。すべてのアプレットを同じコンテキストに置き、1 つのグローバル EventQueue
ですべてのアプレットを動作させるブラウザもあります。この動作は実装によって決定されます。詳細はブラウザのドキュメントを参照してください。
コンストラクタの概要 | |
EventQueue()
|
メソッドの概要 | |
protected void |
dispatchEvent(AWTEvent event)
イベントをディスパッチします。 |
static AWTEvent |
getCurrentEvent()
呼び出されたスレッドに関連付けられた EventQueue に現在ディスパッチされているイベントを返します。 |
static long |
getMostRecentEventTime()
呼び出されたスレッドに関連付けられた EventQueue からディスパッチされた、一番新しいタイムスタンプを持つイベントのタイムスタンプを返します。 |
AWTEvent |
getNextEvent()
EventQueue からイベントを削除し、そのイベントを返します。 |
static void |
invokeAndWait(Runnable runnable)
runnable の run メソッドが EventQueue のディスパッチスレッドで呼び出されるようにします。 |
static void |
invokeLater(Runnable runnable)
runnable の run メソッドが EventQueue のディスパッチスレッドで呼び出されるようにします。 |
static boolean |
isDispatchThread()
呼び出し側スレッドが現在の AWT EventQueue のディスパッチスレッドの場合に true を返します。 |
AWTEvent |
peekEvent()
EventQueue の最初のイベントを削除せずに返します。 |
AWTEvent |
peekEvent(int id)
指定された ID を持つイベントがある場合、その中の最初のイベントを返します。 |
protected void |
pop()
この EventQueue を使用するイベントのディスパッチを停止します。 |
void |
postEvent(AWTEvent theEvent)
1.1 形式のイベントを EventQueue へ送信します。 |
void |
push(EventQueue newEventQueue)
既存の EventQueue を、指定された EventQueue で置き換えます。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public EventQueue()
メソッドの詳細 |
public void postEvent(AWTEvent theEvent)
EventQueue
へ送信します。同じ ID およびイベントソースを持つキューにイベントがある場合は、ソース Component
の coalesceEvents
メソッドが呼び出されます。
theEvent
- java.awt.AWTEvent
のインスタンス、またはそのサブクラスpublic AWTEvent getNextEvent() throws InterruptedException
EventQueue
からイベントを削除し、そのイベントを返します。このメソッドは、別のスレッドによってイベントが送信されるまでブロックされます。
AWTEvent
InterruptedException
- 別のスレッドがこのスレッドに割り込んだ場合public AWTEvent peekEvent()
EventQueue
の最初のイベントを削除せずに返します。
public AWTEvent peekEvent(int id)
id
- 要求するイベントタイプの ID
null
protected void dispatchEvent(AWTEvent event)
イベントタイプ | ソースタイプ | ディスパッチ方法 |
---|---|---|
ActiveEvent | Any | event.dispatch() |
その他 | Component | source.dispatchEvent(AWTEvent) |
その他 | MenuComponent | source.dispatchEvent(AWTEvent) |
その他 | その他 | 処理されない (無視される) |
public static long getMostRecentEventTime()
EventQueue
からディスパッチされた、一番新しいタイムスタンプを持つイベントのタイムスタンプを返します。タイムスタンプを持つイベントがディスパッチ中の場合、そのタイムスタンプが返されます。イベントが全くディスパッチされていない場合、EventQueue が初期化された時間が返されます。Java platform SDK の現在のバージョンでは、InputEvent
、ActionEvent
、および InvocationEvent
だけがタイムスタンプを持ちますが、将来のバージョンでは他のイベントタイプにもタイムスタンプが追加される可能性があります。このメソッドはアプリケーションのイベントディスパッチスレッドからだけ呼び出すようにしてください。他のスレッドから呼び出した場合、System.currentTimeMillis()
でレポートされる現在のシステム時刻が返されます。
InputEvent
、ActionEvent
、または InvocationEvent
のタイムスタンプ。このメソッドがイベントディスパッチスレッド以外から呼び出される場合は System.currentTimeMillis()
InputEvent.getWhen()
,
ActionEvent.getWhen()
,
InvocationEvent.getWhen()
public static AWTEvent getCurrentEvent()
EventQueue
に現在ディスパッチされているイベントを返します。メソッドがイベントにアクセスする必要があり、イベントへの参照を引数として受け取るよう設計されていない場合に有効です。このメソッドはアプリケーションのイベントディスパッチスレッドからだけ呼び出すようにしてください。他のスレッドから呼び出した場合、null が返されます。
public void push(EventQueue newEventQueue)
EventQueue
を、指定された EventQueue
で置き換えます。待ち状態のイベントは、処理のために新しい EventQueue
に転送されます。
newEventQueue
- 使用される EventQueue
またはそのサブクラスのインスタンスpop()
protected void pop() throws EmptyStackException
EventQueue
を使用するイベントのディスパッチを停止します。待ち状態のイベントは、処理のために前の EventQueue
に転送されます。
警告 - デッドロック回避のため、このメソッドをサブクラスで同期宣言しないようにします。
EmptyStackException
- この EventQueue
で以前にプッシュが行われていない場合push(java.awt.EventQueue)
public static boolean isDispatchThread()
EventQueue
のディスパッチスレッドの場合に true を返します。このメソッドを使用すると、指定されたタスクを現在の AWT EventDispatchThread
で確実に実行させる (または実行させないようにする) ことができます。
EventQueue
のディスパッチスレッドで動作している場合は truepublic static void invokeLater(Runnable runnable)
runnable
の run
メソッドが EventQueue
のディスパッチスレッドで呼び出されるようにします。待ち状態のすべてのイベントが処理された後に呼び出されます。
runnable
- run
メソッドが EventQueue
で同期実行されなければならない Runnable
invokeAndWait(java.lang.Runnable)
public static void invokeAndWait(Runnable runnable) throws InterruptedException, InvocationTargetException
runnable
の run
メソッドが EventQueue
のディスパッチスレッドで呼び出されるようにします。待ち状態のすべてのイベントが処理されたあとで実行されます。呼び出しはこれが実行されるまでブロックされます。このメソッドは、イベントディスパッチャスレッドから呼び出されると Error をスローします。
runnable
- run
メソッドが EventQueue
で同期実行されなければならない Runnable
InterruptedException
- 別のスレッドがこのスレッドに割り込んだ場合
InvocationTargetException
- runnable
の動作中に例外がスローされる場合invokeLater(java.lang.Runnable)
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.