Класс 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 Значение по умолчанию для всех InvocationEvent. |
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() Выполняет метод |
Exception |
getException() Возвращает исключение, перехваченное при выполнении метода |
Throwable |
getThrowable() Возвращает любое перехваченное исключение Throwable при выполнении метода |
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, исключения Throwable передаются в цикл обработки событий 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 при выполнении методаRunnable'srun, или же эти исключения должны быть переданы в цикл обработки событий 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- Объект Runnable, методrun()которого будет вызван после того, какInvocationEventбыл обработан или удалён -
catchThrowables- Указывает, должен лиdispatchперехватывать Throwable при выполнении методаRunnable'srun, или же эти исключения должны быть переданы в цикл обработки событий 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 при выполнении методаRunnable'srun, или же эти исключения должны быть переданы в цикл обработки событий EventDispatchThread - Исключения:
-
IllegalArgumentException- еслиsourceравен null - См. также:
-
EventObject.getSource(),AWTEvent.getID()
Методы
dispatch
public void dispatch()
Выполняет метод run() Runnable и уведомляет notifier (если он есть) при возвращении или выбросе исключения в run().
- Определено в:
-
dispatchв интерфейсеActiveEvent - См. также:
isDispatched()
getException
public Exception getException()
Возвращает любое исключение Exception, перехваченное во время выполнения метода run()
Runnable.
- Возвращает:
- Ссылка на исключение Exception, если оно было выброшено; null, если исключение не было выброшено или если это InvocationEvent не перехватывает исключения
getThrowable
public Throwable getThrowable()
Возвращает любое исключение Throwable, перехваченное во время выполнения метода 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
- См. также:
-
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.