Spec-Zone.ru › OpenJDK 27

Class InvocationEvent

java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.InvocationEvent
All Implemented Interfaces:
ActiveEvent, Serializable
public class InvocationEvent extends AWTEvent implements ActiveEvent
An event which executes the 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:
  • ActiveEvent
  • EventQueue.invokeLater(Runnable)
  • EventQueue.invokeAndWait(Runnable)
  • AWTEventListener
  • Serialized Form

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

InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
InvocationEvent(Object source, Runnable runnable)
InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
InvocationEvent(Object source, Runnable runnable, Runnable listener, boolean catchThrowables)
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(Object newSource)
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(Object obj)
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(long timeoutMillis)
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(long timeoutMillis, int nanos)
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
Marks the first integer id for the range of invocation event ids.
See Also:
  • Constant Field Values

INVOCATION_DEFAULT

public static final int INVOCATION_DEFAULT
The default id for all InvocationEvents.
See Also:
  • Constant Field Values

INVOCATION_LAST

public static final int INVOCATION_LAST
Marks the last integer id for the range of invocation event ids.
See Also:
  • Constant Field Values

runnable

protected Runnable runnable
The Runnable whose run() method will be called.

notifier

protected volatile 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.
See Also:
  • isDispatched()

catchExceptions

protected boolean catchExceptions
Set to true if dispatch() catches Throwable and stores it in the exception instance variable. If false, Throwables are propagated up to the EventDispatchThread's dispatch loop.

Constructor Details

InvocationEvent

public InvocationEvent(Object source, Runnable runnable)
Constructs an 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 - The Object that originated the event
runnable - The Runnable whose run() method will be executed
Throws:
IllegalArgumentException - if source is null
See Also:
  • EventObject.getSource()
  • InvocationEvent(Object, Runnable, Object, boolean)

InvocationEvent

public InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
Constructs an 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 - The Object that originated the event
runnable - The Runnable whose run() method will be executed
notifier - The Object whose notifyAll method will be called after Runnable.run has returned or thrown an exception or after the event was disposed
catchThrowables - Specifies whether dispatch should catch Throwable when executing the Runnable's run() method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop
Throws:
IllegalArgumentException - if source is null
See Also:
  • EventObject.getSource()
  • InvocationEvent(Object, int, Runnable, Object, boolean)

InvocationEvent

public InvocationEvent(Object source, Runnable runnable, Runnable listener, boolean catchThrowables)
Constructs an 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 - The Object that originated the event
runnable - The Runnable whose run() method will be executed
listener - The Runnable whose run() method will be called after the InvocationEvent was dispatched or disposed
catchThrowables - Specifies whether dispatch should catch Throwable when executing the Runnable's run() method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop
Throws:
IllegalArgumentException - if source is null

InvocationEvent

protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
Constructs an 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 - The Object that originated the event
id - An integer indicating the type of event. For information on allowable values, see the class description for InvocationEvent
runnable - The Runnable whose run() method will be executed
notifier - The Object whose notifyAll method will be called after Runnable.run has returned or thrown an exception or after the event was disposed
catchThrowables - Specifies whether dispatch should catch Throwable when executing the Runnable's run() method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop
Throws:
IllegalArgumentException - if source is null
See Also:
  • EventObject.getSource()
  • AWTEvent.getID()

Method Details

dispatch

public void dispatch()
Executes the Runnable's run() method and notifies the notifier (if any) when run() has returned or thrown an exception.
Specified by:
dispatch in interface ActiveEvent
See Also:
  • isDispatched()

getException

public Exception getException()
Returns any Exception caught while executing the Runnable's 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()
Returns any Throwable caught while executing the Runnable's 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 the timestamp of when this event occurred.
Returns:
this event's timestamp
Since:
1.4

isDispatched

public boolean isDispatched()
Returns 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:
true if the event has been dispatched, or any exception has been thrown while dispatching, false otherwise
Since:
1.7
See Also:
  • dispatch()
  • notifier
  • catchExceptions

paramString

public String paramString()
Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.
Overrides:
paramString in class AWTEvent
Returns:
A string identifying the event and its attributes

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API