Класс 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 и сохраняет его в переменной исключения. |
static final int |
INVOCATION_DEFAULT |
По умолчанию ID для всех InvocationEvents. |
static final int |
INVOCATION_FIRST |
Определяет первый целочисленный ID диапазона ID событий вызова. |
static final int |
INVOCATION_LAST |
Определяет последний целочисленный ID диапазона 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, который будет выполнять метод runnable's run() при обработке. |
|
| Создает InvocationEvent с указанным источником, который будет выполнять метод runnable's run() при обработке. |
||
| Создает InvocationEvent с указанным источником, который будет выполнять метод runnable's run() при обработке. |
||
| Создает InvocationEvent с указанным источником, который будет выполнять метод runnable's run() при обработке. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
dispatch() |
Выполняет метод Runnable's run() и уведомляет нотификатор (если есть) при возвращении run() или броске исключения. |
Exception |
getException() |
Возвращает любое исключение, перехваченное во время выполнения метода Runnable's run(). |
Throwable |
getThrowable() |
Возвращает любой Throwable, перехваченный во время выполнения метода Runnable's run(). |
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 или же должен передавать эти Throwable в цикл обработки событий 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- Listener, методrun()которого будет вызван после обработкиInvocationEventили его удаления -
catchThrowables- Указывает, должен лиdispatchперехватывать Throwable при выполнении методаrun()runnable или же должен передавать эти Throwable в цикл обработки событий 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 или же должен передавать эти Throwable в цикл обработки событий 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/event/InvocationEvent.html