Класс 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 |
Идентификатор по умолчанию для всех InvocationEvent. |
static final int |
INVOCATION_FIRST |
Обозначает первый целочисленный идентификатор в диапазоне идентификаторов событий вызова. |
static final int |
INVOCATION_LAST |
Обозначает последний целочисленный идентификатор в диапазоне идентификаторов событий вызова. |
protected Object |
notifier |
Объект (который может быть null), метод notifyAll() которого будет вызван сразу после возврата метода Runnable.run() или выброса им исключения либо после уничтожения события. |
protected Runnable |
runnable |
Runnable, метод run() которого будет вызван. |
Поля, объявленные в классе 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 | Модификатор и тип | Поле | Описание |
|---|---|---|
static final long |
ACTION_EVENT_MASK |
Маска событий для выбора событий действий. |
static final long |
ADJUSTMENT_EVENT_MASK |
Маска событий для выбора событий изменения. |
static final long |
COMPONENT_EVENT_MASK |
Маска событий для выбора событий компонентов. |
protected boolean |
consumed |
Определяет, отправляется ли событие обратно узлу-компоненту после его обработки источником: false означает, что событие отправляется узлу-компоненту; true — что не отправляется. |
static final long |
CONTAINER_EVENT_MASK |
Маска событий для выбора событий контейнеров. |
static final long |
FOCUS_EVENT_MASK |
Маска событий для выбора событий фокуса. |
static final long |
HIERARCHY_BOUNDS_EVENT_MASK |
Маска событий для выбора событий границ иерархии. |
static final long |
HIERARCHY_EVENT_MASK |
Маска событий для выбора событий иерархии. |
protected int |
id |
Идентификатор события. |
static final long |
INPUT_METHOD_EVENT_MASK |
Маска событий для выбора событий метода ввода. |
static final long |
INVOCATION_EVENT_MASK |
Маска событий для выбора событий вызова. |
static final long |
ITEM_EVENT_MASK |
Маска событий для выбора событий элементов. |
static final long |
KEY_EVENT_MASK |
Маска событий для выбора событий клавиатуры. |
static final long |
MOUSE_EVENT_MASK |
Маска событий для выбора событий мыши. |
static final long |
MOUSE_MOTION_EVENT_MASK |
Маска событий для выбора событий движения мыши. |
static final long |
MOUSE_WHEEL_EVENT_MASK |
Маска событий для выбора событий колеса мыши. |
static final long |
PAINT_EVENT_MASK |
Маска событий для выбора событий отрисовки. |
static final int |
RESERVED_ID_MAX |
Максимальное значение зарезервированных идентификаторов событий AWT. |
static final long |
TEXT_EVENT_MASK |
Маска событий для выбора текстовых событий. |
static final long |
WINDOW_EVENT_MASK |
Маска событий для выбора событий окон. |
static final long |
WINDOW_FOCUS_EVENT_MASK |
Маска событий для выбора событий фокуса окна. |
static final long |
WINDOW_STATE_EVENT_MASK |
Маска событий для выбора событий состояния окна. |
Поля, объявленные в классе EventObject
source | Модификатор и тип | Поле | Описание |
|---|---|---|
protected Object |
source |
Объект, в котором изначально произошло событие. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает InvocationEvent с указанным источником и идентификатором, который при обработке выполнит метод run() объекта runnable. |
|
| Создает InvocationEvent с указанным источником, который при обработке выполнит метод run() объекта runnable. |
||
| Создает InvocationEvent с указанным источником, который при обработке выполнит метод run() объекта runnable. |
||
| Создает InvocationEvent с указанным источником, который при обработке выполнит метод run() объекта runnable. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
dispatch() |
Выполняет метод run() объекта Runnable и уведомляет объект notifier (если он есть), когда run() завершил выполнение или выбросил исключение. |
Exception |
getException() |
Возвращает любое исключение Exception, перехваченное при выполнении метода run() объекта Runnable. |
Throwable |
getThrowable() |
Возвращает любой Throwable, перехваченный при выполнении метода run() объекта Runnable. |
long |
getWhen() |
Возвращает временную метку момента возникновения этого события. |
boolean |
isDispatched() |
Возвращает true, если событие обработано или при его обработке выброшено исключение, и false в противном случае. |
String |
paramString() |
Возвращает строку параметров, идентифицирующую это событие. |
Методы, объявленные в классе AWTEvent
consume, getID, isConsumed, setSource, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
consume() |
Потребляет это событие, если оно может быть потреблено. |
int |
getID() |
Возвращает тип события. |
protected boolean |
isConsumed() |
Возвращает признак того, было ли потреблено это событие. |
void |
setSource |
Перенаправляет событие к новому источнику. |
String |
toString() |
Возвращает строковое представление этого объекта. |
Методы, объявленные в классе EventObject
getSource | Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
getSource() |
Объект, в котором изначально произошло событие. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удален в одной из будущих версий. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определенного промежутка реального времени. |
Подробное описание полей
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 при выполнении метода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—Object, породивший событие -
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 с указанными источником и идентификатором, который при обработке выполнит метод run() объекта runnable. Если notifier не равен null, для него будет вызван notifyAll() сразу после того, как run() завершится или выбросит исключение. Этот метод выбрасывает IllegalArgumentException, если source равен null.
- Параметры:
-
source—Object, породивший событие -
id— целое число, указывающее тип события. Допустимые значения описаны в описании классаInvocationEvent -
runnable—Runnable, методrun()которого будет выполнен -
notifier—Object, метод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.- Возвращает:
- Ссылка на Exception, если исключение было выброшено; null, если исключение не выбрасывалось или этот InvocationEvent не перехватывает исключения
getThrowable
public Throwable getThrowable()
run() объекта Runnable.- Возвращает:
- Ссылка на Throwable, если исключение было выброшено; null, если исключение не выбрасывалось или этот InvocationEvent не перехватывает исключения Throwable
- С версии:
- 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, 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.