Class InvocationEvent
- All Implemented Interfaces:
ActiveEvent, Serializable
public class InvocationEvent extends AWTEvent implements ActiveEvent
run() method on a Runnable
when dispatched by the AWT event dispatcher thread. This class can be used as a reference implementation of ActiveEvent rather than declaring a new class and defining dispatch(). Instances of this class are placed on the EventQueue by calls to invokeLater and invokeAndWait. Client code can use this fact to write replacement functions for invokeLater
and invokeAndWait without writing special-case code in any AWTEventListener objects.
An unspecified behavior will be caused if the id parameter of any particular InvocationEvent instance is not in the range from INVOCATION_FIRST to INVOCATION_LAST.
- Since:
- 1.2
- See Also:
Field Summary
| Modifier and Type | Field | Description |
|---|---|---|
protected boolean |
catchExceptions |
Set to true if dispatch() catches Throwable and stores it in the exception instance variable. |
static final int |
INVOCATION_DEFAULT |
The default id for all InvocationEvents. |
static final int |
INVOCATION_FIRST |
Marks the first integer id for the range of invocation event ids. |
static final int |
INVOCATION_LAST |
Marks the last integer id for the range of invocation event ids. |
protected Object |
notifier |
The (potentially null) Object whose notifyAll() method will be called immediately after the Runnable.run() method has returned or thrown an exception or after the event was disposed. |
protected Runnable |
runnable |
The Runnable whose run() method will be called. |
Fields declared in class AWTEvent
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 | Modifier and Type | Field | Description |
|---|---|---|
static final long |
ACTION_EVENT_MASK |
The event mask for selecting action events. |
static final long |
ADJUSTMENT_EVENT_MASK |
The event mask for selecting adjustment events. |
static final long |
COMPONENT_EVENT_MASK |
The event mask for selecting component events. |
protected boolean |
consumed |
Controls whether or not the event is sent back down to the peer once the source has processed it - false means it's sent to the peer; true means it's not. |
static final long |
CONTAINER_EVENT_MASK |
The event mask for selecting container events. |
static final long |
FOCUS_EVENT_MASK |
The event mask for selecting focus events. |
static final long |
HIERARCHY_BOUNDS_EVENT_MASK |
The event mask for selecting hierarchy bounds events. |
static final long |
HIERARCHY_EVENT_MASK |
The event mask for selecting hierarchy events. |
protected int |
id |
The event's id. |
static final long |
INPUT_METHOD_EVENT_MASK |
The event mask for selecting input method events. |
static final long |
INVOCATION_EVENT_MASK |
The event mask for selecting invocation events. |
static final long |
ITEM_EVENT_MASK |
The event mask for selecting item events. |
static final long |
KEY_EVENT_MASK |
The event mask for selecting key events. |
static final long |
MOUSE_EVENT_MASK |
The event mask for selecting mouse events. |
static final long |
MOUSE_MOTION_EVENT_MASK |
The event mask for selecting mouse motion events. |
static final long |
MOUSE_WHEEL_EVENT_MASK |
The event mask for selecting mouse wheel events. |
static final long |
PAINT_EVENT_MASK |
The event mask for selecting paint events. |
static final int |
RESERVED_ID_MAX |
The maximum value for reserved AWT event IDs. |
static final long |
TEXT_EVENT_MASK |
The event mask for selecting text events. |
static final long |
WINDOW_EVENT_MASK |
The event mask for selecting window events. |
static final long |
WINDOW_FOCUS_EVENT_MASK |
The event mask for selecting window focus events. |
static final long |
WINDOW_STATE_EVENT_MASK |
The event mask for selecting window state events. |
Fields declared in class EventObject
source | Modifier and Type | Field | Description |
|---|---|---|
protected Object |
source |
The object on which the Event initially occurred. |
Constructor Summary
| Modifier | Constructor | Description |
|---|---|---|
protected |
Constructs an InvocationEvent with the specified source and ID which will execute the runnable's run() method when dispatched. |
|
| Constructs an InvocationEvent with the specified source which will execute the runnable's run() method when dispatched. |
||
| Constructs an InvocationEvent with the specified source which will execute the runnable's run() method when dispatched. |
||
| Constructs an InvocationEvent with the specified source which will execute the runnable's run() method when dispatched. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
dispatch() |
Executes the Runnable's run() method and notifies the notifier (if any) when run() has returned or thrown an exception. |
Exception |
getException() |
Returns any Exception caught while executing the Runnable's run() method. |
Throwable |
getThrowable() |
Returns any Throwable caught while executing the Runnable's run() method. |
long |
getWhen() |
Returns the timestamp of when this event occurred. |
boolean |
isDispatched() |
Returns true if the event is dispatched or any exception is thrown while dispatching, false otherwise. |
String |
paramString() |
Returns a parameter string identifying this event. |
Methods declared in class AWTEvent
consume, getID, isConsumed, setSource, toString | Modifier and Type | Method | Description |
|---|---|---|
protected void |
consume() |
Consumes this event, if this event can be consumed. |
int |
getID() |
Returns the event type. |
protected boolean |
isConsumed() |
Returns whether this event has been consumed. |
void |
setSource |
Retargets an event to a new source. |
String |
toString() |
Returns a String representation of this object. |
Methods declared in class EventObject
getSource | Modifier and Type | Method | Description |
|---|---|---|
Object |
getSource() |
The object on which the Event initially occurred. |
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
protected Object |
clone() |
Creates and returns a copy of this object. |
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this object. |
final void |
notify() |
Wakes up a single thread that is waiting on this object's monitor. |
final void |
notifyAll() |
Wakes up all threads that are waiting on this object's monitor. |
final void |
wait() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Field Details
INVOCATION_FIRST
public static final int INVOCATION_FIRST
- See Also:
INVOCATION_DEFAULT
public static final int INVOCATION_DEFAULT
- See Also:
INVOCATION_LAST
public static final int INVOCATION_LAST
- See Also:
runnable
protected Runnable runnable
notifier
protected volatile Object notifier
- See Also:
catchExceptions
protected boolean catchExceptions
Constructor Details
InvocationEvent
public InvocationEvent(Object source, Runnable runnable)
InvocationEvent with the specified source which will execute the runnable's run() method when dispatched. This is a convenience constructor. An invocation of the form InvocationEvent(source, runnable) behaves in exactly the same way as the invocation of InvocationEvent(source, runnable, null, false).
This method throws an IllegalArgumentException if source is null.
- Parameters:
-
source- TheObjectthat originated the event -
runnable- TheRunnablewhoserun()method will be executed - Throws:
-
IllegalArgumentException- ifsourceis null - See Also:
InvocationEvent
public InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
InvocationEvent with the specified source which will execute the runnable's run() method when dispatched. If notifier is non-null, notifyAll() will be called on it immediately after run() has returned or thrown an exception. An invocation of the form InvocationEvent(source, runnable, notifier, catchThrowables) behaves in exactly the same way as the invocation of InvocationEvent(source, InvocationEvent.INVOCATION_DEFAULT, runnable, notifier, catchThrowables).
This method throws an IllegalArgumentException if source is null.
- Parameters:
-
source- TheObjectthat originated the event -
runnable- TheRunnablewhoserun()method will be executed -
notifier- TheObjectwhosenotifyAllmethod will be called afterRunnable.runhas returned or thrown an exception or after the event was disposed -
catchThrowables- Specifies whetherdispatchshould catch Throwable when executing theRunnable'srun()method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop - Throws:
-
IllegalArgumentException- ifsourceis null - See Also:
InvocationEvent
public InvocationEvent(Object source, Runnable runnable, Runnable listener, boolean catchThrowables)
InvocationEvent with the specified source which will execute the runnable's run() method when dispatched. If listener is non-null, listener.run() will be called immediately after run has returned, thrown an exception or the event was disposed. This method throws an IllegalArgumentException if source is null.
- Parameters:
-
source- TheObjectthat originated the event -
runnable- TheRunnablewhoserun()method will be executed -
listener- TheRunnablewhoserun()method will be called after theInvocationEventwas dispatched or disposed -
catchThrowables- Specifies whetherdispatchshould catch Throwable when executing theRunnable'srun()method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop - Throws:
-
IllegalArgumentException- ifsourceis null
InvocationEvent
protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
InvocationEvent with the specified source and ID which will execute the runnable's run() method when dispatched. If notifier is non-null, notifyAll() will be called on it immediately after run() has returned or thrown an exception. This method throws an IllegalArgumentException if source is null.
- Parameters:
-
source- TheObjectthat originated the event -
id- An integer indicating the type of event. For information on allowable values, see the class description forInvocationEvent -
runnable- TheRunnablewhoserun()method will be executed -
notifier- TheObjectwhosenotifyAllmethod will be called afterRunnable.runhas returned or thrown an exception or after the event was disposed -
catchThrowables- Specifies whetherdispatchshould catch Throwable when executing theRunnable'srun()method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop - Throws:
-
IllegalArgumentException- ifsourceis null - See Also:
Method Details
dispatch
public void dispatch()
run() method and notifies the notifier (if any) when run() has returned or thrown an exception.- Specified by:
-
dispatchin interfaceActiveEvent - See Also:
getException
public Exception getException()
run() method.- Returns:
- A reference to the Exception if one was thrown; null if no Exception was thrown or if this InvocationEvent does not catch exceptions
getThrowable
public Throwable getThrowable()
run() method.- Returns:
- A reference to the Throwable if one was thrown; null if no Throwable was thrown or if this InvocationEvent does not catch Throwables
- Since:
- 1.5
getWhen
public long getWhen()
- Returns:
- this event's timestamp
- Since:
- 1.4
isDispatched
public boolean isDispatched()
true if the event is dispatched or any exception is thrown while dispatching, false otherwise. The method should be called by a waiting thread that calls the notifier.wait() method. Since spurious wakeups are possible (as explained in Object.wait()), this method should be used in a waiting loop to ensure that the event got dispatched:
while (!event.isDispatched()) {
notifier.wait();
}
If the waiting thread wakes up without dispatching the event, the isDispatched() method returns false, and the while loop executes once more, thus, causing the awakened thread to revert to the waiting mode. If the notifier.notifyAll() happens before the waiting thread enters the notifier.wait() method, the while loop ensures that the waiting thread will not enter the notifier.wait() method. Otherwise, there is no guarantee that the waiting thread will ever be woken from the wait.
- Returns:
-
trueif the event has been dispatched, or any exception has been thrown while dispatching,falseotherwise - Since:
- 1.7
- See Also:
paramString
public String paramString()
- Overrides:
-
paramStringin classAWTEvent - Returns:
- A string identifying the event and its attributes
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.