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.
| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | catchExceptionsSet to true if dispatch() catches Throwable and stores it in the
 exception instance variable. | 
| static int | INVOCATION_DEFAULTThe default id for all InvocationEvents. | 
| static int | INVOCATION_FIRSTMarks the first integer id for the range of invocation event ids. | 
| static int | INVOCATION_LASTMarks the last integer id for the range of invocation event ids. | 
| protected Object | notifierThe (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 | runnableThe Runnable whose run() method will be called. | 
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| Modifier | Constructor and Description | 
|---|---|
| protected  | InvocationEvent(Object source,
               int id,
               Runnable runnable,
               Object notifier,
               boolean catchThrowables)Constructs an  InvocationEventwith the specified
 source and ID which will execute the runnable'srunmethod when dispatched. | 
|   | InvocationEvent(Object source,
               Runnable runnable)Constructs an  InvocationEventwith the specified
 source which will execute the runnable'srunmethod when dispatched. | 
|   | InvocationEvent(Object source,
               Runnable runnable,
               Object notifier,
               boolean catchThrowables)Constructs an  InvocationEventwith the specified
 source which will execute the runnable'srunmethod when dispatched. | 
|   | InvocationEvent(Object source,
               Runnable runnable,
               Runnable listener,
               boolean catchThrowables)Constructs an  InvocationEventwith the specified
 source which will execute the runnable'srunmethod when dispatched. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | dispatch()Executes the Runnable's  run()method and notifies the
 notifier (if any) whenrun()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  trueif the event is dispatched or any exception is
 thrown while dispatching,falseotherwise. | 
| String | paramString()Returns a parameter string identifying this event. | 
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)
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.
source - The Object that originated the eventrunnable - The Runnable whose run
                  method will be executedIllegalArgumentException - if source is nullEventObject.getSource(), 
InvocationEvent(Object, Runnable, Object, boolean)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.
source - The Object that originated
                          the eventrunnable - The Runnable whose
                          run method will be
                          executednotifier - The Object whose notifyAll
                          method will be called after
                          Runnable.run has returned or
                          thrown an exception or after the event was
                          disposedcatchThrowables - Specifies whether dispatch
                          should catch Throwable when executing
                          the Runnable's run
                          method, or should instead propagate those
                          Throwables to the EventDispatchThread's
                          dispatch loopIllegalArgumentException - if source is nullEventObject.getSource(), 
InvocationEvent(Object, int, Runnable, Object, boolean)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.
source - The Object that originated
                          the eventrunnable - The Runnable whose
                          run method will be
                          executedlistener - The RunnableRunnable whose
                          run() method will be called
                          after the InvocationEvent
                          was dispatched or disposedcatchThrowables - Specifies whether dispatch
                          should catch Throwable when executing
                          the Runnable's run
                          method, or should instead propagate those
                          Throwables to the EventDispatchThread's
                          dispatch loopIllegalArgumentException - if source is nullprotected 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.
source - The Object that originated
                          the eventid - An integer indicating the type of event.
                     For information on allowable values, see
                     the class description for InvocationEventrunnable - The Runnable whose
                          run method will be executednotifier - The Object whose notifyAll
                          method will be called after
                          Runnable.run has returned or
                          thrown an exception or after the event was
                          disposedcatchThrowables - Specifies whether dispatch
                          should catch Throwable when executing the
                          Runnable's run
                          method, or should instead propagate those
                          Throwables to the EventDispatchThread's
                          dispatch loopIllegalArgumentException - if source is nullEventObject.getSource(), 
AWTEvent.getID()public void dispatch()
run() method and notifies the
 notifier (if any) when run() has returned or thrown an exception.dispatch in interface ActiveEventisDispatched()public Exception getException()
run()
  method.public Throwable getThrowable()
run()
  method.public long getWhen()
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.
true if the event has been dispatched, or any exception
 has been thrown while dispatching, false otherwisedispatch(), 
notifier, 
catchExceptionspublic String paramString()
paramString in class AWTEvent Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.