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_MASK
source
修飾子 | コンストラクタと説明 |
---|---|
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()
このイベントを特定するパラメータ文字列を返します。
|
getSource
public 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
- イベントを発生させた Object
runnable
- run
メソッドが実行される Runnable
IllegalArgumentException
- 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
- イベントを発生させた Object
runnable
- run
メソッドが実行される Runnable
notifier
- Runnable.run
が戻ったあとまたは例外のスロー後に notifyAll
メソッドが呼び出される Object
catchThrowables
- 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
- イベントを発生させた Object
id
- イベントのタイプを示す整数。許容される値については、InvocationEvent
のクラスの説明を参照してください。runnable
- run
メソッドが実行される Runnable
notifier
- Runnable.run
が戻ったあとまたは例外のスロー後に notifyAll
メソッドが呼び出される Object
catchThrowables
- Runnable
の run
メソッドの実行時に、dispatch
により Throwable がキャッチされるか、これらの Throwable が EventDispatchThread のディスパッチループまで伝達されるかを指定するIllegalArgumentException
- source
が null である場合EventObject.getSource()
, AWTEvent.getID()
public void dispatch()
run()
メソッドを実行し、run()
が戻るか例外をスローしたときに notifier (ある場合) を通知します。dispatch
、インタフェース: ActiveEvent
isDispatched()
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
、それ以外の場合は false
dispatch()
, notifier
, catchExceptions
public String paramString()
paramString
、クラス: AWTEvent
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.