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 を構築します。 |
|
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()
このイベントを特定するパラメータ文字列を返します。
|
getSource
public 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
- イベントを発生させた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)
public InvocationEvent(Object source, Runnable runnable, Runnable listener, boolean catchThrowables)
run
メソッドを実行します)でInvocationEvent
を構築します。listenerがnull
でない場合は、run
の復帰後または例外のスロー後、あるいはイベントの破棄後、ただちにそこでlistener.run()
が呼び出されます。
このメソッドはsource
がnull
の場合にIllegalArgumentException
をスローします。
source
- イベントを発生させたObject
runnable
- run
メソッドが実行されるRunnable
listener
- InvocationEvent
のディスパッチ後または破棄後にrun()
メソッドが呼び出されるRunnable
catchThrowables
- 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
- イベントを発生させた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, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。