- 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 therun()
method on aRunnable
when dispatched by the AWT event dispatcher thread. This class can be used as a reference implementation ofActiveEvent
rather than declaring a new class and definingdispatch()
.Instances of this class are placed on the
EventQueue
by calls toinvokeLater
andinvokeAndWait
. Client code can use this fact to write replacement functions forinvokeLater
andinvokeAndWait
without writing special-case code in anyAWTEventListener
objects.An unspecified behavior will be caused if the
id
parameter of any particularInvocationEvent
instance is not in the range fromINVOCATION_FIRST
toINVOCATION_LAST
.
-
-
Field Summary
Fields Modifier and Type Field and Description protected boolean
catchExceptions
Set to true if dispatch() catches Throwable and stores it in the exception instance variable.static int
INVOCATION_DEFAULT
The default id for all InvocationEvents.static int
INVOCATION_FIRST
Marks the first integer id for the range of invocation event ids.static 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.protected Runnable
runnable
The Runnable whose run() method will be called.-
Fields inherited from class java.awt.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
-
Fields inherited from class java.util.EventObject
source
-
-
Constructor Summary
Constructors Modifier Constructor and Description protected
InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
Constructs anInvocationEvent
with the specified source and ID which will execute the runnable'srun
method when dispatched.InvocationEvent(Object source, Runnable runnable)
Constructs anInvocationEvent
with the specified source which will execute the runnable'srun
method when dispatched.InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
Constructs anInvocationEvent
with the specified source which will execute the runnable'srun
method when dispatched.
-
Method Summary
Methods Modifier and Type Method and Description void
dispatch()
Executes the Runnable'srun()
method and notifies the notifier (if any) whenrun()
has returned or thrown an exception.Exception
getException()
Returns any Exception caught while executing the Runnable'srun()
method.Throwable
getThrowable()
Returns any Throwable caught while executing the Runnable'srun()
method.long
getWhen()
Returns the timestamp of when this event occurred.boolean
isDispatched()
Returnstrue
if the event is dispatched or any exception is thrown while dispatching,false
otherwise.String
paramString()
Returns a parameter string identifying this event.-
Methods inherited from class java.awt.AWTEvent
consume, getID, isConsumed, setSource, toString
-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
Field Detail
-
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 Object notifier
The (potentially null) Object whose notifyAll() method will be called immediately after the Runnable.run() method has returned or thrown an exception.- 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 Detail
-
InvocationEvent
public InvocationEvent(Object source, Runnable runnable)
Constructs anInvocationEvent
with the specified source which will execute the runnable'srun
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
ifsource
isnull
.- Parameters:
source
- TheObject
that originated the eventrunnable
- TheRunnable
whoserun
method will be executed- Throws:
IllegalArgumentException
- ifsource
is null- See Also:
EventObject.getSource()
,InvocationEvent(Object, Runnable, Object, boolean)
-
InvocationEvent
public InvocationEvent(Object source, Runnable runnable, Object notifier, boolean catchThrowables)
Constructs anInvocationEvent
with the specified source which will execute the runnable'srun
method when dispatched. If notifier is non-null
,notifyAll()
will be called on it immediately afterrun
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
ifsource
isnull
.- Parameters:
source
- TheObject
that originated the eventrunnable
- TheRunnable
whoserun
method will be executednotifier
- TheObject
whosenotifyAll
method will be called afterRunnable.run
has returned or thrown an exceptioncatchThrowables
- Specifies whetherdispatch
should catch Throwable when executing theRunnable
'srun
method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop- Throws:
IllegalArgumentException
- ifsource
is null- See Also:
EventObject.getSource()
,InvocationEvent(Object, int, Runnable, Object, boolean)
-
InvocationEvent
protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
Constructs anInvocationEvent
with the specified source and ID which will execute the runnable'srun
method when dispatched. If notifier is non-null
,notifyAll
will be called on it immediately afterrun
has returned or thrown an exception.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheObject
that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forInvocationEvent
runnable
- TheRunnable
whoserun
method will be executednotifier
- TheObject
whosenotifyAll
method will be called afterRunnable.run
has returned or thrown an exceptioncatchThrowables
- Specifies whetherdispatch
should catch Throwable when executing theRunnable
'srun
method, or should instead propagate those Throwables to the EventDispatchThread's dispatch loop- Throws:
IllegalArgumentException
- ifsource
is null- See Also:
EventObject.getSource()
,AWTEvent.getID()
-
-
Method Detail
-
dispatch
public void dispatch()
Executes the Runnable'srun()
method and notifies the notifier (if any) whenrun()
has returned or thrown an exception.- Specified by:
dispatch
in interfaceActiveEvent
- See Also:
isDispatched()
-
getException
public Exception getException()
Returns any Exception caught while executing the Runnable'srun()
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'srun()
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()
Returnstrue
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 thenotifier.wait()
method. Since spurious wakeups are possible (as explained inObject.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, theisDispatched()
method returnsfalse
, and thewhile
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 thenotifier.wait()
method, thewhile
loop ensures that the waiting thread will not enter thenotifier.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 classAWTEvent
- Returns:
- A string identifying the event and its attributes
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-java/awt/event/invocationevent.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.