Класс 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.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
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.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-Object, который инициировал событие -
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-Object, который инициировал событие -
runnable-Runnable, методrun()которого будет выполнен -
notifier-Object, методnotifyAllкоторого будет вызван после того, какRunnable.runвернул значение или вызвал исключение, или после того, как событие было обработано -
catchThrowables- Указывает, должен лиdispatchперехватывать Throwable при выполнении методаRunnablerun(), или вместо этого распространять эти Throwables в цикл dispatch потока 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-Object, который инициировал событие -
runnable-Runnable, методrun()которого будет выполнен -
listener-Runnable, методrun()которого будет вызван после того, какInvocationEventбыло отправлено или обработано -
catchThrowables- Указывает, должен лиdispatchперехватывать Throwable при выполнении методаRunnablerun(), или вместо этого распространять эти 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 при выполнении методаRunnablerun(), или вместо этого распространять эти Throwables в цикл dispatch потока 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(). В противном случае нет гарантии, что ожидающая нить когда-либо будет разбужена от ожидания.
- Returns:
-
trueесли событие было обработано или при обработке произошла ошибка,falseв противном случае - Since:
- 1.7
- See Also:
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