Spec-Zone.ru › OpenJDK 17

Класс InvocationEvent

java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.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 final int INVOCATION_DEFAULT
Значение по умолчанию ID для всех InvocationEvents.
static final int INVOCATION_FIRST
Указывает первый целочисленный ID диапазона идентификаторов событий вызова.
static final int INVOCATION_LAST
Указывает последний целочисленный ID диапазона идентификаторов событий вызова.
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

Краткое описание конструкторов

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)
Модификатор Конструктор Описание
protected
Создаёт InvocationEvent с указанным источником и ID, который выполнит метод run() Runnable при обработке.
Создаёт InvocationEvent с указанным источником, который выполнит метод run() Runnable при обработке.
Создаёт InvocationEvent с указанным источником, который выполнит метод run() Runnable при обработке.
Создаёт InvocationEvent с указанным источником, который выполнит метод run() Runnable при обработке.

Краткое описание методов

Модификатор и тип Метод Описание
void dispatch()
Выполняет метод run() Runnable и уведомляет уведомляющий объект (если он есть), когда run() возвращается или выбрасывает исключение.
Exception getException()
Возвращает любое исключение, перехваченное при выполнении метода run() Runnable.
Throwable getThrowable()
Возвращает любой Throwable, перехваченный при выполнении метода run() Runnable.
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
Помечает первый целочисленный идентификатор для диапазона идентификаторов событий вызова.
См. также:
  • Constant Field Values

INVOCATION_DEFAULT

public static final int INVOCATION_DEFAULT
Идентификатор по умолчанию для всех InvocationEvents.
См. также:
  • Constant Field Values

INVOCATION_LAST

public static final int INVOCATION_LAST
Помечает последний целочисленный идентификатор для диапазона идентификаторов событий вызова.
См. также:
  • Constant Field Values

runnable

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

notifier

protected volatile Object notifier
Объект (возможно, null), метод notifyAll() которого будет вызван сразу после возврата метода Runnable.run() или после того, как событие было обработано.
См. также:
  • isDispatched()

catchExceptions

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

Подробное описание конструкторов

InvocationEvent

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

Это вспомогательный конструктор. Вызов вида InvocationEvent(source, runnable) ведет себя точно так же, как вызов InvocationEvent(source, runnable, null, false).

Этот метод выдает IllegalArgumentException, если source является null.

Параметры:
source - Object, который инициировал событие
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 - Object, который инициировал событие
runnable - Runnable, метод run() которого будет выполнен
notifier - Object, метод notifyAll которого будет вызван после того, как Runnable.run вернул значение или вызвал исключение, или после того, как событие было обработано
catchThrowables - Указывает, должен ли dispatch перехватывать Throwable при выполнении метода Runnable run(), или вместо этого распространять эти Throwables в цикл dispatch потока 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 - Object, который инициировал событие
runnable - Runnable, метод run() которого будет выполнен
listener - Runnable, метод run() которого будет вызван после того, как InvocationEvent было отправлено или обработано
catchThrowables - Указывает, должен ли dispatch перехватывать Throwable при выполнении метода Runnable run(), или вместо этого распространять эти Throwables в цикл dispatch потока EventDispatchThread
Исключения:
IllegalArgumentException - если source является null

InvocationEvent

protected InvocationEvent(Object source, int id, Runnable runnable, Object notifier, boolean catchThrowables)
Конструирует InvocationEvent с указанным источником и ID, который будет выполнять метод run() runnable при отправке. Если notifier не null, notifyAll() будет вызван на нем сразу после того, как run() вернул значение или вызвал исключение.

Этот метод выдает IllegalArgumentException, если source является null.

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

Подробное описание методов

dispatch

public void dispatch()
Выполняет метод run() Runnable и уведомляет notifier (если есть), когда run() вернул значение или вызвал исключение.
Указано в:
dispatch в интерфейсе ActiveEvent
См. также:
  • isDispatched()

getException

public Exception getException()
Возвращает любое исключение, перехваченное при выполнении метода run() Runnable.
Возвращает:
Ссылка на исключение, если оно было выброшено; null, если исключение не было выброшено или если это InvocationEvent не перехватывает исключения

getThrowable

public Throwable getThrowable()
Возвращает любое Throwable, перехваченное при выполнении метода run() Runnable.
Возвращает:
Ссылка на 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.notifyAll() происходит до того, как ожидающая нить войдёт в метод notifier.wait(), цикл while гарантирует, что ожидающая нить не войдёт в метод notifier.wait(). В противном случае нет гарантии, что ожидающая нить когда-либо будет разбужена от ожидания.

Returns:
true если событие было обработано или при обработке произошла ошибка, false в противном случае
Since:
1.7
See Also:
  • dispatch()
  • notifier
  • catchExceptions

paramString

public String paramString()
Возвращает строку параметров, идентифицирующую это событие. Этот метод полезен для ведения журнала событий и отладки.
Overrides:
paramString в классе AWTEvent
Returns:
Строка, идентифицирующая событие и его атрибуты

© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/event/InvocationEvent.html

Spec-Zone.ru

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