Класс 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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
catchExceptions |
Устанавливается в true, если dispatch() перехватывает исключение Throwable и сохраняет его в переменной exception. |
static final int |
INVOCATION_DEFAULT |
Значение по умолчанию для всех InvocationEvents. |
static final int |
INVOCATION_FIRST |
Указывает первый целочисленный идентификатор диапазона идентификаторов событий вызова. |
static final 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 со указанным источником и идентификатором, который будет выполнять метод 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.util.EventObject
getSource
Подробное описание полей
INVOCATION_FIRST
public static final int INVOCATION_FIRST
- См. также:
INVOCATION_DEFAULT
public static final int INVOCATION_DEFAULT
- См. также:
INVOCATION_LAST
public static final int INVOCATION_LAST
- См. также:
runnable
protected Runnable runnable
notifier
protected volatile Object notifier
- См. также:
catchExceptions
protected boolean catchExceptions
Подробное описание конструкторов
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 - См. также:
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 при выполнении методаrun()Runnable или же передавать их циклу обработки событий EventDispatchThread - Исключения:
-
IllegalArgumentException- еслиsourceравен null - См. также:
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- Runnable, методrun()которого будет вызван после того какInvocationEventбыл обработан или удалён -
catchThrowables- Указывает, должен лиdispatchперехватывать Throwable при выполнении методаrun()Runnable, или же передавать их циклу обработки событий 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- Источник события -
id- Целое число, указывающее тип события. Для информации о допустимых значениях см. описание классаInvocationEvent -
runnable- Runnable, методrun()которого будет выполнен -
notifier- Объект, на котором будет вызван методnotifyAllпосле возвращения или исключенияRunnable.run, или после удаления события -
catchThrowables- Указывает, должен лиdispatchперехватывать Throwable при выполнении методаrun()Runnable, или же передавать их циклу обработки событий EventDispatchThread - Исключения:
-
IllegalArgumentException- еслиsourceравен null - См. также:
Подробное описание методов
dispatch
public void dispatch()
run() Runnable и уведомляет notifier (если таковой есть) при возврате или исключении run().- Задано:
-
dispatchв интерфейсеActiveEvent - См. также:
getException
public Exception getException()
run() Runnable.- Возвращает:
- Ссылка на исключение, если оно было брошено; null, если исключение не было брошено или если это InvocationEvent не перехватывает исключения
getThrowable
public Throwable getThrowable()
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(). В противном случае нет гарантии, что ожидающая нить когда-либо проснётся от ожидания.
- Возвращает:
-
trueесли событие обработано или при обработке возникло исключение,falseв противном случае - С момента:
- 1.7
- См. также:
paramString
public String paramString()
- Переопределяет:
-
paramStringв классеAWTEvent - Возвращает:
- Строка, идентифицирующая событие и его атрибуты
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/event/InvocationEvent.html