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