public class InvocationEvent extends AWTEvent implements ActiveEvent
Runnable 上で run() メソッドを実行するイベントです。このクラスは、新しいクラスを宣言して dispatch() を定義する代わりに、ActiveEvent の参照実装として使用できます。
このクラスのインスタンスは、invokeLater および invokeAndWait の呼び出しによって EventQueue に置かれます。これによりクライアントのコードでは、特別な場合のコードを書くことなく AWTEventListener オブジェクト内に、invokeLater および invokeAndWait に代わる関数を記述できます。
特定の InvocationEvent インスタンスの id パラメータが INVOCATION_FIRST から INVOCATION_LAST までの範囲にない場合に、未指定の動作が発生します。
| 修飾子と型 | フィールドと説明 |
|---|---|
protected boolean |
catchExceptions
dispatch() が Throwable をキャッチして例外インスタンス変数に格納する場合は、true に設定します。
|
static int |
INVOCATION_DEFAULT
すべての InvocationEvent に対するデフォルト ID です。
|
static int |
INVOCATION_FIRST
呼び出しイベント ID の範囲の最初の整数 ID をマスクします。
|
static int |
INVOCATION_LAST
呼び出しイベント ID の範囲の最後の整数 ID をマスクします。
|
protected Object |
notifier
Runnable.run() メソッドの復帰後または例外のスロー後 notifyAll() メソッドがただちに呼び出される Object です (null の場合もある)。
|
protected Runnable |
runnable
run() メソッドが呼び出される Runnable です。
|
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASKsource| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
指定されたソースと ID (ディスパッチされたときに runnable の
run メソッドを実行する) で InvocationEvent を構築します。 |
|
InvocationEvent(Object source, Runnable runnable)
指定されたソース (ディスパッチされたときに runnable の
run メソッドを実行する) で InvocationEvent を構築します。 |
|
InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
指定されたソース (ディスパッチされたときに runnable の
run メソッドを実行する) で InvocationEvent を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
dispatch()
Runnable の
run() メソッドを実行し、run() が戻るか例外をスローしたときに notifier (ある場合) を通知します。 |
Exception |
getException()
Runnable の
run() メソッド実行時にキャッチされた Exception を返します。 |
Throwable |
getThrowable()
Runnable の
run() メソッド実行時にキャッチされた Throwable を返します。 |
long |
getWhen()
このイベントが発生した時点のタイムスタンプを返します。
|
boolean |
isDispatched()
イベントがディスパッチされるか、ディスパッチ中に例外がスローされた場合は、
true を返し、それ以外の場合は false を返します。 |
String |
paramString()
このイベントを特定するパラメータ文字列を返します。
|
getSourcepublic static final int INVOCATION_FIRST
public static final int INVOCATION_DEFAULT
public static final int INVOCATION_LAST
protected Runnable runnable
protected Object notifier
isDispatched()protected boolean catchExceptions
public InvocationEvent(Object source, Runnable runnable)
run メソッドを実行する) で InvocationEvent を構築します。
これは簡易コンストラクタです。InvocationEvent(source, runnable) の形式で呼び出した場合、InvocationEvent(source, runnable, null, false) の呼び出しとまったく同じように動作します。
このメソッドは source が null の場合に IllegalArgumentException をスローします。
source - イベントを発生させた Objectrunnable - run メソッドが実行される RunnableIllegalArgumentException - source が null である場合EventObject.getSource(), InvocationEvent(Object, Runnable, Object, boolean)public InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
run メソッドを実行する) で InvocationEvent を構築します。notifier が null でない場合は、run が戻ったあとまたは例外のスロー後、ただちにそこで notifyAll() が呼び出されます。
InvocationEvent(source, runnable, notifier, catchThrowables) の形式で呼び出した場合、InvocationEvent(source, InvocationEvent.INVOCATION_DEFAULT, runnable, notifier, catchThrowables) の呼び出しとまったく同じように動作します。
このメソッドは source が null の場合に IllegalArgumentException をスローします。
source - イベントを発生させた Objectrunnable - run メソッドが実行される Runnablenotifier - Runnable.run が戻ったあとまたは例外のスロー後に notifyAll メソッドが呼び出される ObjectcatchThrowables - Runnable の run メソッドの実行時に、dispatch により Throwable がキャッチされるか、これらの Throwable が EventDispatchThread のディスパッチループまで伝達されるかを指定するIllegalArgumentException - source が null である場合EventObject.getSource(), InvocationEvent(Object, int, Runnable, Object, boolean)protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
run メソッドを実行する) で InvocationEvent を構築します。notifier が null でない場合は、run が戻ったあとまたは例外のスロー後、ただちにそこで notifyAll が呼び出されます。
このメソッドは source が null の場合に IllegalArgumentException をスローします。
source - イベントを発生させた Objectid - イベントのタイプを示す整数。許容される値については、InvocationEvent のクラスの説明を参照してください。runnable - run メソッドが実行される Runnablenotifier - Runnable.run が戻ったあとまたは例外のスロー後に notifyAll メソッドが呼び出される ObjectcatchThrowables - Runnable の run メソッドの実行時に、dispatch により Throwable がキャッチされるか、これらの Throwable が EventDispatchThread のディスパッチループまで伝達されるかを指定するIllegalArgumentException - source が null である場合EventObject.getSource(), AWTEvent.getID()public void dispatch()
run() メソッドを実行し、run() が戻るか例外をスローしたときに notifier (ある場合) を通知します。dispatch、インタフェース: ActiveEventisDispatched()public Exception getException()
run() メソッド実行時にキャッチされた Exception を返します。public Throwable getThrowable()
run() メソッド実行時にキャッチされた Throwable を返します。public long getWhen()
public boolean isDispatched()
true を返し、それ以外の場合は false を返します。このメソッドは、notifier.wait() メソッドを呼び出す待機中スレッドによって呼び出すようにしてください。見せかけの復帰が可能なため (Object.wait() で説明)、イベントを確実にディスパッチするには、このメソッドを待機中ループで使用するようにしてください。
while (!event.isDispatched()) {
notifier.wait();
}
イベントをディスパッチせずに待機中スレッドが復帰すると、isDispatched() メソッドによって false が返され、while ループが再度実行されるため、復帰したスレッドが待機モードに戻ります。
待機中スレッドが notifier.wait() メソッドに入る前に notifier.notifyAll() が発生すると、while ループによって待機中スレッドが notifier.wait() メソッドに確実に入らなくなります。それ以外の場合、待機中スレッドは待機状態から復帰しません。
true、それ以外の場合は falsedispatch(), notifier, catchExceptionspublic String paramString()
paramString、クラス: AWTEvent バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.