Класс FocusEvent
- java.lang.Object
-
- java.util.EventObject
-
- java.awt.AWTEvent
-
- java.awt.event.ComponentEvent
-
- java.awt.event.FocusEvent
- Все реализованные интерфейсы:
Serializable
public class FocusEvent extends ComponentEvent
Событие низкого уровня, указывающее, что компонент получил или потерял фокус ввода. Это событие низкого уровня генерируется компонентом (таким как TextField). Событие передается каждому объекту FocusListener или FocusAdapter, который зарегистрирован для получения таких событий с помощью метода addFocusListener компонента. (Объекты FocusAdapter реализуют интерфейс FocusListener. Каждый такой объект-слушатель получает это событие FocusEvent при возникновении события.
Существуют два уровня событий фокуса: постоянные и временные. События постоянного изменения фокуса возникают, когда фокус непосредственно переносится с одного компонента на другой, например, через вызов requestFocus() или при использовании пользователем клавиши TAB для перемещения между компонентами. Временные события изменения фокуса возникают, когда фокус временно теряется компонентом в результате косвенной операции, например, деактивации окна или перетаскивания ползунка. В этом случае исходное состояние фокуса будет автоматически восстановлено после завершения операции или, в случае деактивации окна, при повторной активации окна. И постоянные, и временные события фокуса доставляются с помощью идентификаторов событий FOCUS_GAINED и FOCUS_LOST; уровень может быть различен в событии с помощью метода isTemporary().
Каждое FocusEvent записывает свою причину – причину возникновения события. Причина назначается во время создания события фокуса и может быть получена с помощью вызова getCause().
Будет вызвано неопределенное поведение, если параметр id любого конкретного экземпляра FocusEvent не находится в диапазоне от FOCUS_FIRST до FOCUS_LAST.
- С тех пор:
- 1.1
- См. также:
-
FocusAdapter,FocusListener, Учебник: Написание слушателя фокуса, Сериализованная форма
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | FocusEvent.Cause | Этот перечисление представляет причину |
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static int | FOCUS_FIRST | Первое число в диапазоне идентификаторов, используемых для событий фокуса. |
static int | FOCUS_GAINED | Это событие указывает, что компонент теперь является владельцем фокуса. |
static int | FOCUS_LAST | Последнее число в диапазоне идентификаторов, используемых для событий фокуса. |
static int | FOCUS_LOST | Это событие указывает, что компонент больше не является владельцем фокуса. |
Поля, объявленные в классе java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN Поля, объявленные в классе 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 Конструкторы
| Конструктор | Описание |
|---|---|
FocusEvent(Component source,
int id) | Создает объект |
FocusEvent(Component source,
int id,
boolean temporary) | Создает объект |
FocusEvent(Component source,
int id,
boolean temporary,
Component opposite) | Создает объект |
FocusEvent(Component source,
int id,
boolean temporary,
Component opposite,
FocusEvent.Cause cause) | Создает объект |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
FocusEvent.Cause | getCause() | Возвращает причину события. |
Component | getOppositeComponent() | Возвращает другой компонент, участвующий в этом изменении фокуса. |
boolean | isTemporary() | Идентифицирует событие изменения фокуса как временное или постоянное. |
String | paramString() | Возвращает строку параметра, идентифицирующую это событие. |
Методы, объявленные в классе java.awt.event.ComponentEvent
getComponent Методы, объявленные в классе 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 Поля
FOCUS_FIRST
public static final int FOCUS_FIRST
Первое число в диапазоне идентификаторов, используемых для событий фокусировки.
- См. также:
- Constant Field Values
FOCUS_LAST
public static final int FOCUS_LAST
Последнее число в диапазоне идентификаторов, используемых для событий фокусировки.
- См. также:
- Constant Field Values
FOCUS_GAINED
public static final int FOCUS_GAINED
Это событие указывает, что компонент теперь является владельцем фокуса.
- См. также:
- Constant Field Values
FOCUS_LOST
public static final int FOCUS_LOST
Это событие указывает, что компонент больше не является владельцем фокуса.
- См. также:
- Constant Field Values
Конструкторы
FocusEvent
public FocusEvent(Component source,
int id,
boolean temporary,
Component opposite) Конструирует объект FocusEvent с указанным временным состоянием, противоположным Component и причиной Cause.UNKNOWN. Противоположный Component - это другой Component, участвующий в этом изменении фокуса. Для события FOCUS_GAINED, это Component, который потерял фокус. Для события FOCUS_LOST, это Component, который получил фокус. Если это изменение фокуса происходит с нативным приложением, с Java-приложением в другой виртуальной машине или без другого Component, то противоположный Component равен null.
Этот метод вызывает IllegalArgumentException, если source равен null.
- Параметры:
-
source-Component, который инициировал событие -
id- Целое число, указывающее тип события. Для получения информации о допустимых значениях см. описание класса дляFocusEvent -
temporary- Равноtrue, если изменение фокуса является временным;falseв противном случае -
opposite- Другой компонент, участвующий в изменении фокуса, илиnull - Исключения:
-
IllegalArgumentException- еслиsourceравноnull - С версии:
- 1.4
- См. также:
-
EventObject.getSource(),AWTEvent.getID(),isTemporary(),getOppositeComponent(),FocusEvent.Cause.UNKNOWN
FocusEvent
public FocusEvent(Component source,
int id,
boolean temporary,
Component opposite,
FocusEvent.Cause cause) Конструирует объект FocusEvent с указанным временным состоянием, противоположным Component и причиной. Противоположный Component - это другой Component, участвующий в этом изменении фокуса. Для события FOCUS_GAINED, это Component, который потерял фокус. Для события FOCUS_LOST, это Component, который получил фокус. Если это изменение фокуса происходит с нативным приложением, с Java-приложением в другой виртуальной машине или без другого Component, то противоположный Component равен null.
Этот метод вызывает IllegalArgumentException, если source или cause равно null.
- Параметры:
-
source-Component, который инициировал событие -
id- Целое число, указывающее тип события. Для получения информации о допустимых значениях см. описание класса дляFocusEvent -
temporary- Равноtrue, если изменение фокуса является временным;falseв противном случае -
opposite- Другой компонент, участвующий в изменении фокуса, илиnull -
cause- Причина события фокуса. - Исключения:
-
IllegalArgumentException- еслиsourceравноnullили еслиcauseравноnull - С версии:
- 9
- См. также:
-
EventObject.getSource(),AWTEvent.getID(),isTemporary(),getOppositeComponent(),FocusEvent.Cause
FocusEvent
public FocusEvent(Component source,
int id,
boolean temporary) Конструирует объект FocusEvent и определяет, является ли изменение временным.
Этот метод вызывает IllegalArgumentException, если source равно null.
- Параметры:
-
source-Component, который инициировал событие -
id- Целое число, указывающее тип события. Для получения информации о допустимых значениях см. описание класса дляFocusEvent -
temporary- Равноtrue, если изменение фокуса является временным;falseв противном случае - Исключения:
-
IllegalArgumentException- еслиsourceравноnull - См. также:
-
EventObject.getSource(),AWTEvent.getID(),isTemporary()
FocusEvent
public FocusEvent(Component source,
int id) Конструирует объект FocusEvent и определяет его как постоянное изменение фокуса.
Этот метод вызывает IllegalArgumentException, если source равно null.
- Параметры:
-
source-Component, который инициировал событие -
id- Целое число, указывающее тип события. Для получения информации о допустимых значениях см. описание класса дляFocusEvent - Исключения:
-
IllegalArgumentException- еслиsourceравноnull - См. также:
-
EventObject.getSource(),AWTEvent.getID()
Методы
isTemporary
public boolean isTemporary()
Определяет событие изменения фокуса как временное или постоянное.
- Возвращает:
-
true, если изменение фокуса является временным;falseв противном случае
getOppositeComponent
public Component getOppositeComponent()
Возвращает другой компонент, участвующий в этом изменении фокуса. Для события FOCUS_GAINED это компонент, который потерял фокус. Для события FOCUS_LOST это компонент, который получил фокус. Если это изменение фокуса происходит с нативным приложением, с Java-приложением в другой виртуальной машине или контексте, или без другого компонента, то возвращается null.
- Возвращает:
- другой компонент, участвующий в изменении фокуса, или null
- С версии:
- 1.4
paramString
public String paramString()
Возвращает строку параметров, идентифицирующую это событие. Этот метод полезен для ведения журнала событий и для отладки.
- Переопределяет:
-
paramStringв классеComponentEvent - Возвращает:
- строку, идентифицирующую событие и его атрибуты
getCause
public final FocusEvent.Cause getCause()
Возвращает причину события.
- Возвращает:
- одно из значений
FocusEvent.Cause - С версии:
- 9
© 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/FocusEvent.html