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を構築します。 |
|
InvocationEvent(Object source, Runnable runnable, Runnable listener, 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 volatile 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)public InvocationEvent(Object source, Runnable runnable, Runnable listener, boolean catchThrowables)
runメソッドを実行します)でInvocationEventを構築します。 listenerがnullでない場合は、runの復帰後または例外のスロー後、あるいはイベントの破棄後、ただちにそこでlistener.run()が呼び出されます。
このメソッドはsourceがnullの場合にIllegalArgumentExceptionをスローします。
source - イベントを発生させたObjectrunnable - runメソッドが実行されるRunnablelistener - InvocationEventのディスパッチ後または破棄後にrun()メソッドが呼び出されるRunnablecatchThrowables - Runnableのrunメソッドの実行時に、dispatchによりThrowableがキャッチされるか、これらのThrowableがEventDispatchThreadのディスパッチ・ループまで伝達されるかを指定するIllegalArgumentException - sourceがnullである場合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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。