Класс InvocationEvent

Все реализованные интерфейсы:
ActiveEvent, Serializable
public class InvocationEvent
extends AWTEvent
implements ActiveEvent

Событие, которое выполняет метод run() в Runnable при обработке в потоке диспетчера событий AWT. Этот класс может быть использован в качестве эталонной реализации ActiveEvent вместо объявления нового класса и определения dispatch().

Экземпляры этого класса помещаются в EventQueue с помощью вызовов invokeLater и invokeAndWait. Код клиента может использовать этот факт для написания функций-заменителей для invokeLater и invokeAndWait без написания специального кода в объектах AWTEventListener.

Неопределённое поведение возникнет, если параметр id любого экземпляра InvocationEvent не находится в диапазоне от INVOCATION_FIRST до INVOCATION_LAST.

С тех пор:
1.2
См. также:
ActiveEvent, EventQueue.invokeLater(java.lang.Runnable), EventQueue.invokeAndWait(java.lang.Runnable), AWTEventListener, Сериализованная форма

Поля

Модификатор и тип Поле Описание
protected boolean catchExceptions

Устанавливается в true, если dispatch() перехватывает Throwable и сохраняет его в переменной-исключении.

static int INVOCATION_DEFAULT

Значение по умолчанию для всех InvocationEvents.

static int INVOCATION_FIRST

Указывает первый целочисленный идентификатор для диапазона идентификаторов событий вызова.

static int INVOCATION_LAST

Указывает последний целочисленный идентификатор для диапазона идентификаторов событий вызова.

protected Object notifier

Объект (возможно null), метод notifyAll() которого будет вызван сразу после того, как метод Runnable.run() вернул значение или сгенерировал исключение, или после того, как событие было удалено.

protected Runnable runnable

Runnable, метод run() которого будет вызван.

Поля, объявленные в классе 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

Поля, объявленные в классе java.util.EventObject

source

Конструкторы

Модификатор Конструктор Описание
protected InvocationEvent​(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)

Конструирует InvocationEvent со указанным источником и идентификатором, который выполнит метод Runnable.run() при обработке.

InvocationEvent​(Object source, Runnable runnable)

Конструирует InvocationEvent со указанным источником, который выполнит метод Runnable.run() при обработке.

InvocationEvent​(Object source, Runnable runnable, Object notifier, boolean catchThrowables)

Конструирует InvocationEvent со указанным источником, который выполнит метод Runnable.run() при обработке.

InvocationEvent​(Object source, Runnable runnable, Runnable listener, boolean catchThrowables)

Конструирует InvocationEvent со указанным источником, который выполнит метод Runnable.run() при обработке.

Методы

Модификатор и тип Метод Описание
void dispatch()

Выполняет метод Runnable.run() и уведомляет нотификатор (если таковой имеется) при возврате или возникновении исключения.

Exception getException()

Возвращает любое исключение, пойманное во время выполнения метода Runnable.run().

Throwable getThrowable()

Возвращает любой Throwable, пойманный во время выполнения метода Runnable.run().

long getWhen()

Возвращает отметку времени, когда произошло это событие.

boolean isDispatched()

Возвращает true, если событие обрабатывается или при возникновении исключения во время обработки, false в противном случае.

String paramString()

Возвращает строку параметров, идентифицирующую это событие.

Методы, объявленные в классе java.awt.AWTEvent

consume, getID, isConsumed, setSource, toString

Методы, объявленные в классе java.util.EventObject

getSource

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Поля

INVOCATION_FIRST

public static final int INVOCATION_FIRST

Помечает первый целочисленный идентификатор для диапазона идентификаторов событий вызова.

См. также:
Значения константных полей

INVOCATION_DEFAULT

public static final int INVOCATION_DEFAULT

Идентификатор по умолчанию для всех InvocationEvents.

См. также:
Значения константных полей

INVOCATION_LAST

public static final int INVOCATION_LAST

Помечает последний целочисленный идентификатор для диапазона идентификаторов событий вызова.

См. также:
Значения константных полей

runnable

protected Runnable runnable

Runnable, метод run() которого будет вызван.

notifier

protected volatile Object notifier

Объект (возможно, null), метод notifyAll() которого будет вызван сразу после возвращения или возникновения исключения в методе Runnable.run() или после того, как событие было удалено.

См. также:
isDispatched()

catchExceptions

protected boolean catchExceptions

Устанавливается в true, если dispatch() перехватывает Throwable и сохраняет его в переменной исключения. Если false, Throwables передаются в цикл обработки событий EventDispatchThread.

Конструкторы

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable)

Создаёт InvocationEvent с указанным источником, который будет выполнять метод run runnable при обработке.

Это конструктор по умолчанию. Вызов вида InvocationEvent(source, runnable) эквивалентен вызову InvocationEvent(source, runnable, null, false).

Этот метод выбрасывает IllegalArgumentException если source равен null.

Параметры:
source - Источник события
runnable - Runnable, метод run которого будет выполнен
Исключения:
IllegalArgumentException - если source равно null
См. также:
EventObject.getSource(), InvocationEvent(Object, Runnable, Object, boolean)

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable,
                       Object notifier,
                       boolean catchThrowables)

Создаёт InvocationEvent с указанным источником, который будет выполнять метод run runnable при обработке. Если notifier не равен null, метод notifyAll() будет вызван на нём сразу после того, как метод run вернётся или бросит исключение, или после удаления события.

Вызов вида InvocationEvent(source, runnable, notifier, catchThrowables) эквивалентен вызову InvocationEvent(source, InvocationEvent.INVOCATION_DEFAULT, runnable, notifier, catchThrowables).

Этот метод выбрасывает IllegalArgumentException если source равно null.

Параметры:
source - Источник события
runnable - Runnable, метод run которого будет выполнен
notifier - Объект, на котором будет вызван метод notifyAll, после того как метод Runnable.run вернётся или бросит исключение, или после удаления события
catchThrowables - Указывает, должен ли dispatch перехватывать Throwable при выполнении метода Runnable Runnable, или же эти Throwables должны передаваться в цикл обработки событий EventDispatchThread
Исключения:
IllegalArgumentException - если source равно null
См. также:
EventObject.getSource(), InvocationEvent(Object, int, Runnable, Object, boolean)

InvocationEvent

public InvocationEvent(Object source,
                       Runnable runnable,
                       Runnable listener,
                       boolean catchThrowables)

Создаёт InvocationEvent с указанным источником, который будет выполнять метод run runnable при обработке. Если listener не равен null, метод listener.run() будет вызван сразу после того, как run вернётся, бросит исключение или событие было удалено.

Этот метод выбрасывает IllegalArgumentException если source равно null.

Параметры:
source - Источник события
runnable - Runnable, метод run которого будет выполнен
listener - RunnableRunnable, метод run() которого будет вызван после того, как InvocationEvent был обработан или удалён
catchThrowables - Указывает, должен ли dispatch перехватывать Throwable при выполнении метода Runnable Runnable, или же эти Throwables должны передаваться в цикл обработки событий EventDispatchThread
Исключения:
IllegalArgumentException - если source равно null

InvocationEvent

protected InvocationEvent(Object source,
                          int id,
                          Runnable runnable,
                          Object notifier,
                          boolean catchThrowables)

Создаёт InvocationEvent с указанным источником и идентификатором, который будет выполнять метод run runnable при обработке. Если notifier не равен null, метод notifyAll будет вызван на нём сразу после того, как метод run вернётся или бросит исключение.

Этот метод выбрасывает IllegalArgumentException если source равно null.

Параметры:
source - Источник события
id - Целое число, указывающее тип события. Для информации о допустимых значениях, см. описание класса InvocationEvent
runnable - Runnable, метод run которого будет выполнен
notifier - Объект, на котором будет вызван метод notifyAll, после того как метод Runnable.run вернётся или бросит исключение, или после удаления события
catchThrowables - Указывает, должен ли dispatch перехватывать Throwable при выполнении метода Runnable Runnable, или же эти Throwables должны передаваться в цикл обработки событий EventDispatchThread
Исключения:
IllegalArgumentException - если source равно null
См. также:
EventObject.getSource(), AWTEvent.getID()

Методы

dispatch

public void dispatch()

Выполняет метод Runnable.run() и уведомляет notifier (если он есть) при возврате или возникновении исключения в run().

Определено в:
dispatch в интерфейсе ActiveEvent
См. также:
isDispatched()

getException

public Exception getException()

Возвращает любое исключение, перехваченное при выполнении метода Runnable.run().

Возвращает:
Ссылка на исключение, если оно было сгенерировано; null, если исключение не было сгенерировано или если этот InvocationEvent не перехватывает исключения

getThrowable

public Throwable getThrowable()

Возвращает любой Throwable, перехваченный при выполнении метода Runnable.run().

Возвращает:
Ссылка на Throwable, если он был сгенерирован; null, если Throwable не был сгенерирован или если этот InvocationEvent не перехватывает Throwables
С тех пор:
1.5

getWhen

public long getWhen()

Возвращает метку времени, когда произошло это событие.

Возвращает:
Метка времени события
С тех пор:
1.4

isDispatched

public boolean isDispatched()

Возвращает true если событие обработано или при обработке возникло исключение, false в противном случае. Метод должен вызываться ожидающей нитью, которая вызывает метод notifier.wait(). Поскольку возможны ложные пробуждения (как описано в Object.wait()), этот метод следует использовать в цикле ожидания, чтобы убедиться, что событие было обработано:

while (!event.isDispatched()) {
         notifier.wait();
     }
Если ожидающая нить просыпается без обработки события, метод isDispatched() возвращает false, и цикл while выполняется ещё раз, заставляя пробужденную нить вернуться в режим ожидания.

Если обработка происходит до того, как ожидающая нить входит в метод notifier.wait(), цикл while гарантирует, что ожидающая нить не войдёт в метод notifier.wait(). В противном случае нет гарантии, что ожидающая нить когда-либо проснется от ожидания.

Возвращает:
true если событие обработано, или при обработке возникло исключение, false в противном случае
С тех пор:
1.7
См. также:
dispatch(), notifier, catchExceptions

paramString

public String paramString()

Возвращает строку параметров, идентифицирующую это событие. Этот метод полезен для регистрации событий и отладки.

Переопределяет:
paramString в классе AWTEvent
Возвращает:
Строка, идентифицирующая событие и его атрибуты

© 1993, 2020, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/event/InvocationEvent.html

Spec-Zone .ru
спецификации, руководства, описания, API