Класс 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.
- С:
- JavaFX 2.0
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final EventType |
ANY |
Общий супертип для всех типов событий клавиш. |
static final String |
CHAR_UNDEFINED |
События KEY_PRESSED и KEY_RELEASED, которые не отображаются как допустимый символ Юникод, используются для значения keyChar. |
static final EventType |
KEY_PRESSED |
Это событие происходит, когда клавиша была нажата. |
static final EventType |
KEY_RELEASED |
Это событие происходит, когда клавиша была отпущена. |
static final EventType |
KEY_TYPED |
Это событие происходит, когда нажата и отпущена клавиша, генерирующая символ. |
Поля, объявленные в классе javafx.event.Event
consumed, eventType, NULL_SOURCE_TARGET, target
Поля, объявленные в классе java.util.EventObject
source
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KeyEvent |
Создаёт новое событие KeyEvent из указанных параметров. |
KeyEvent |
Создаёт новое событие KeyEvent из указанных параметров с источником и целевым объектом null. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
KeyEvent |
copyFor |
Создаёт и возвращает копию этого события с указанным источником и целевым объектом события. |
KeyEvent |
copyFor |
Создаёт копию данного события с подстановкой заданных полей. |
final String |
getCharacter() |
Символ Юникод или последовательность символов, связанных с событием ввода символа с клавиатуры. |
final KeyCode |
getCode() |
Код клавиши, связанный с клавишей в данном событии нажатия или отпускания клавиши. |
EventType |
getEventType() |
Возвращает тип события этого события. |
final String |
getText() |
Строка, описывающая код клавиши, например, "HOME", "F1" или "A", для событий нажатия и отпускания клавиши. |
final boolean |
isAltDown() |
Возвращает значение, указывающее, нажата ли клавиша Alt в этом событии. |
final boolean |
isControlDown() |
Возвращает значение, указывающее, нажата ли клавиша Control в этом событии. |
final boolean |
isMetaDown() |
Возвращает значение, указывающее, нажата ли клавиша Meta в этом событии. |
final boolean |
isShiftDown() |
Возвращает значение, указывающее, нажата ли клавиша Shift в этом событии. |
final 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. - С:
- 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. - С:
- 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.- Переопределяет:
-
toStringв классеEventObject - Возвращает:
- Строковое представление объекта
KeyEvent.
copyFor
public KeyEvent copyFor(Object newSource, EventTarget newTarget)
Eventnull, он заменяется значением NULL_SOURCE_TARGET.copyFor
public KeyEvent copyFor(Object source, EventTarget target, EventType<KeyEvent> type)
- Параметры:
-
source- новый источник скопированного события -
target- новый целевой объект скопированного события -
type- новый тип события. - Возвращает:
- Копию события с заменёнными полями
- С:
- JavaFX 8.0
getEventType
public EventType<KeyEvent> getEventType()
EventEvent могут иметь разные типы событий. Эти типы событий дополнительно указывают, какое событие произошло.- Переопределяет:
-
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.