java.awt.event

Class 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(java.lang.Runnable), EventQueue.invokeAndWait(java.lang.Runnable), AWTEventListener, Serialized Form
    • 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 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
        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

        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
        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 Detail

      • 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

Traduction non disponible

Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 30/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-java/awt/event/InvocationEvent.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : https://docs.oracle.com, InvocationEvent

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut