Класс KeyEvent
- Все реализованные интерфейсы:
-
Serializable,Cloneable
public final class KeyEvent
extends InputEvent Node. Это событие генерируется при нажатии, отпускании или вводе символа с помощью клавиши. В зависимости от типа события оно передаётся в функцию onKeyPressed, onKeyTyped или onKeyReleased.
«События ввода символа» более высокого уровня и, как правило, не зависят от платформы или раскладки клавиатуры. Они генерируются при вводе символа Юникода и являются предпочтительным способом получения информации о вводе символов. В простейшем случае событие ввода символа генерируется одним нажатием клавиши (например, 'a'). Однако часто символы генерируются сериями нажатий клавиш (например, SHIFT + 'a'), и отображение от нажатий клавиш к событиям ввода символов может быть одно-ко многим или много-ко многим. Отпускание клавиши обычно не требуется для генерации события ввода символа, но в некоторых случаях событие ввода символа не генерируется до тех пор, пока клавиша не будет отпущена (например, ввод ASCII-последовательностей с помощью метода Alt-Numpad в Windows). События ввода символа не генерируются для клавиш, не генерирующих символы Юникода (например, функциональные клавиши, клавиши модификаторов и т. д.).
Переменная character всегда содержит допустимый символ или последовательность символов Юникода или CHAR_UNDEFINED. Ввод символов сообщается событиями ввода символа; события нажатия и отпускания клавиш не обязательно связаны с вводом символов. Поэтому переменная character гарантированно имеет значение только для событий ввода символа.
Для событий нажатия и отпускания клавиш переменная code содержит код клавиши события. Для событий ввода символа переменная code всегда содержит KeyCode.UNDEFINED.
«События нажатия и отпускания клавиш» более низкого уровня и зависят от платформы и раскладки клавиатуры. Они генерируются всякий раз, когда клавиша нажимается или отпускается, и являются единственным способом узнать о клавишах, которые не генерируют ввод символов (например, функциональные клавиши, клавиши модификаторов и т. д.). Нажатая или отпущенная клавиша указывается кодом, содержащим виртуальный код клавиши.
Для запуска контекстных меню см. ContextMenuEvent.
- Since:
- JavaFX 2.0
- См. также:
- Сериализованная форма
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static EventType<KeyEvent> | ANY | Общий супертип для всех типов событий клавиш. |
static String | CHAR_UNDEFINED | События KEY_PRESSED и KEY_RELEASED, которые не отображаются в допустимый символ Юникода, используются для значения keyChar. |
static EventType<KeyEvent> | KEY_PRESSED | Это событие возникает, когда клавиша была нажата. |
static EventType<KeyEvent> | KEY_RELEASED | Это событие возникает, когда клавиша была отпущена. |
static EventType<KeyEvent> | KEY_TYPED | Это событие возникает, когда была нажата клавиша, генерирующая символ (нажата и отпущена). |
Поля, объявленные в классе javafx.event.Event
consumed, eventType, NULL_SOURCE_TARGET, target
Поля, объявленные в классе java.util.EventObject
source
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KeyEvent(Object source,
EventTarget target,
EventType<KeyEvent> eventType,
String character,
String text,
KeyCode code,
boolean shiftDown,
boolean controlDown,
boolean altDown,
boolean metaDown) | Создаёт новое событие KeyEvent из указанных параметров. |
KeyEvent(EventType<KeyEvent> eventType,
String character,
String text,
KeyCode code,
boolean shiftDown,
boolean controlDown,
boolean altDown,
boolean metaDown) | Создаёт новое событие KeyEvent из указанных параметров, с источником и целевым объектом null. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
KeyEvent | copyFor(Object newSource,
EventTarget newTarget) | Создаёт и возвращает копию этого события с указанным источником и целевым объектом события. |
KeyEvent | copyFor(Object source,
EventTarget target,
EventType<KeyEvent> type) | Создаёт копию данного события с заменой указанных полей. |
String | getCharacter() | Символ Юникода или последовательность символов, связанных с событием ввода символа. |
KeyCode | getCode() | Код клавиши, связанный с клавишей в этом событии нажатия или отпускания клавиши. |
EventType<KeyEvent> | getEventType() | Получает тип события данного события. |
String | getText() | Строка, описывающая код клавиши, например, «HOME», «F1» или «A», для событий нажатия и отпускания клавиш. |
boolean | isAltDown() | Возвращает, нажата ли клавиша Alt в этом событии. |
boolean | isControlDown() | Возвращает, нажата ли клавиша Control в этом событии. |
boolean | isMetaDown() | Возвращает, нажата ли клавиша Meta в этом событии. |
boolean | isShiftDown() | Возвращает, нажата ли клавиша Shift в этом событии. |
boolean | isShortcutDown() | Возвращает, нажата ли клавиша-модификатор сокращения, общая для платформы, в этом событии. |
String | toString() | Возвращает строковое представление этого объекта KeyEvent. |
Методы, объявленные в классе java.util.EventObject
getSource
Подробное описание полей
ANY
public static final EventType<KeyEvent> ANY
KEY_PRESSED
public static final EventType<KeyEvent> KEY_PRESSED
KEY_RELEASED
public static final EventType<KeyEvent> KEY_RELEASED
KEY_TYPED
public static final EventType<KeyEvent> KEY_TYPED
character, содержащее набранную строку; поля code и text не используются.CHAR_UNDEFINED
public static final String CHAR_UNDEFINED
Подробное описание конструкторов
KeyEvent
public KeyEvent(Object source, EventTarget target, EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
KeyEvent на основе указанных параметров.- Параметры:
-
source- источник события. Может быть null. -
target- целевой объект события. Может быть null. -
eventType- Тип события. -
character- Символ или последовательность символов, связанных со событием -
text- Строка, описывающая код клавиши -
code- Числовой код клавиши -
shiftDown- true, если нажата клавиша Shift. -
controlDown- true, если нажата клавиша Control. -
altDown- true, если нажата клавиша Alt. -
metaDown- true, если нажата клавиша Meta. - Since:
- JavaFX 8.0
KeyEvent
public KeyEvent(EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
KeyEvent на основе указанных параметров, с null источником и целевым объектом.- Параметры:
-
eventType- Тип события. -
character- Символ или последовательность символов, связанных со событием -
text- Строка, описывающая код клавиши -
code- Числовой код клавиши -
shiftDown- true, если нажата клавиша Shift. -
controlDown- true, если нажата клавиша Control. -
altDown- true, если нажата клавиша Alt. -
metaDown- true, если нажата клавиша Meta. - Since:
- JavaFX 8.0
Подробное описание методов
getCharacter
public final String getCharacter()
Например, character будет иметь значение "A" для события набора символа, сгенерированного нажатием SHIFT + 'a'. Для событий нажатия и отпускания клавиши character всегда равно CHAR_UNDEFINED.
- Возвращает:
- Символ(ы) Юникода, связанные с событием набора символа
getText
public final String getText()
text всегда пустая строка.- Возвращает:
- Строка, описывающая код клавиши
getCode
public final KeyCode getCode()
code всегда равно KeyCode.UNDEFINED.- Возвращает:
- Код клавиши, связанный с клавишей в данном событии,
KeyCode.UNDEFINEDдля события набора символа
isShiftDown
public final boolean isShiftDown()
- Возвращает:
- нажата ли клавиша Shift в этом событии.
isControlDown
public final boolean isControlDown()
- Возвращает:
- нажата ли клавиша Control в этом событии.
isAltDown
public final boolean isAltDown()
- Возвращает:
- нажата ли клавиша Alt в этом событии.
isMetaDown
public final boolean isMetaDown()
- Возвращает:
- нажата ли клавиша Meta в этом событии.
isShortcutDown
public final boolean isShortcutDown()
control на Windows и meta (клавиша Command) на Mac.- Возвращает:
-
trueесли клавиша-модификатор нажата,falseв противном случае
toString
public String toString()
KeyEvent.- Overrides:
-
toStringв классеEventObject - Возвращает:
- строковое представление этого объекта
KeyEvent.
copyFor
public KeyEvent copyFor(Object newSource, EventTarget newTarget)
Eventnull, он заменяется значением NULL_SOURCE_TARGET.- Overrides:
-
copyForв классеEvent - Параметры:
-
newSource- новый источник скопированного события -
newTarget- новый целевой объект скопированного события - Возвращает:
- копию события с новым источником и целевым объектом
copyFor
public KeyEvent copyFor(Object source, EventTarget target, EventType<KeyEvent> type)
- Параметры:
-
source- новый источник скопированного события -
target- новый целевой объект скопированного события -
type- новый тип события. - Возвращает:
- копию события с подставленными полями
- Since:
- JavaFX 8.0
getEventType
public EventType<KeyEvent> getEventType()
EventEvent могут иметь разные типы событий. Эти типы событий дополнительно указывают, какое событие произошло.- Overrides:
-
getEventTypeв классеEvent - Возвращает:
- тип события
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.