- java.lang.Object
-
- java.util.EventObject
-
- javafx.event.Event
-
- javafx.scene.input.InputEvent
-
- javafx.scene.input.KeyEvent
-
- All Implemented Interfaces:
-
Serializable,Cloneable
public final class KeyEvent extends InputEvent
Событие, указывающее на то, что нажата клавиша вNode.Это событие генерируется при нажатии, отпускании или вводе символа с клавиатуры. В зависимости от типа события, оно передается в функцию
onKeyPressed,onKeyTypedилиonKeyReleased.События "ввода символа" являются более высокого уровня и, как правило, не зависят от платформы или раскладки клавиатуры. Они генерируются при вводе символа Unicode и являются предпочтительным способом получения информации о вводе символов. В простейшем случае событие "ввода символа" генерируется одним нажатием клавиши (например, 'a'). Однако часто символы генерируются серией нажатий клавиш (например, SHIFT + 'a'), и соответствие между событиями нажатия клавиш и событиями "ввода символа" может быть множе к одному или множе ко многим. Отпускание клавиши обычно не требуется для генерации события "ввода символа", но существуют случаи, когда событие "ввода символа" не генерируется до отпускания клавиши (например, ввод последовательностей ASCII с помощью метода Alt-Numpad в Windows). События "ввода символа" не генерируются для клавиш, которые не генерируют символы Unicode (например, функциональные клавиши, модификаторы и т.д.).
Переменная
characterвсегда содержит допустимый символ Unicode или CHAR_UNDEFINED. Ввод символов сообщается событиями "ввода символа"; события "нажатия клавиши" и "отпускания клавиши" не обязательно связаны с вводом символов. Поэтому переменнаяcharacterгарантированно имеет значение только для событий "ввода символа".Для событий "нажатия клавиши" и "отпускания клавиши" переменная
codeсодержит код клавиши события. Для событий "ввода символа" переменнаяcodeвсегда содержитKeyCode.UNDEFINED.События "нажатия клавиши" и "отпускания клавиши" являются более низкого уровня и зависят от платформы и раскладки клавиатуры. Они генерируются всякий раз, когда клавиша нажимается или отпускается, и являются единственным способом получения информации о клавишах, которые не генерируют ввод символов (например, функциональные клавиши, модификаторы и т.д.). Нажатая или отпущенная клавиша указывается кодом, который содержит виртуальный код клавиши.
Для запуска контекстных меню см.
ContextMenuEvent.- Since:
- JavaFX 2.0
- See Also:
- Serialized Form
-
Краткое описание полей
Поля Модификатор и тип Поле Описание static EventType<KeyEvent>ANYОбщий супертип для всех типов событий клавиш.static StringCHAR_UNDEFINEDСобытия KEY_PRESSED и KEY_RELEASED, которые не отображаются в допустимый символ Unicode, используются для значения 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.
-
Краткое описание методов
Все методыМетодыКонкретные методы Модификатор и тип Метод Описание KeyEventcopyFor(Object newSource, EventTarget newTarget)Создаёт и возвращает копию этого события с указанным источником и целевым объектом события.KeyEventcopyFor(Object source, EventTarget target, EventType<KeyEvent> type)Создаёт копию данного события с подставленными указанными полями.StringgetCharacter()Символ Unicode или последовательность символов, связанных со событием ввода символа.KeyCodegetCode()Код клавиши, связанной с клавишей в этом событии нажатия или отпускания клавиши.EventType<KeyEvent>getEventType()Получает тип события этого события.StringgetText()Строка, описывающая код клавиши, например "HOME", "F1" или "A", для событий нажатия и отпускания клавиш.booleanisAltDown()Возвращает значение, указывающее, нажата ли клавиша Alt в этом событии.booleanisControlDown()Возвращает значение, указывающее, нажата ли клавиша Control в этом событии.booleanisMetaDown()Возвращает значение, указывающее, нажата ли клавиша Meta в этом событии.booleanisShiftDown()Возвращает значение, указывающее, нажата ли клавиша Shift в этом событии.booleanisShortcutDown()Возвращает значение, указывающее, нажата ли общая клавиша-модификатор хост-платформы в этом событии.StringtoString()Возвращает строковое представление этого объекта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
События KEY_PRESSED и KEY_RELEASED, которые не сопоставляются с допустимым символом Unicode, используют это значение для поля keyChar.
-
-
Подробное описание конструкторов
-
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, если нажата клавиша Ctrl. -
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из указанных параметров, со сброшенным источником и целевым объектом.- Параметры:
-
eventType- тип события. -
character- символ или последовательность символов, связанных с событием. -
text- строка, описывающая код клавиши. -
code- целочисленный код клавиши. -
shiftDown- true, если нажата клавиша Shift. -
controlDown- true, если нажата клавиша Ctrl. -
altDown- true, если нажата клавиша Alt. -
metaDown- true, если нажата клавиша Meta. - С момента:
- JavaFX 8.0
-
-
Подробное описание методов
-
getCharacter
public final String getCharacter()
Символ Unicode или последовательность символов, связанных с событием нажатия клавиши. Содержит несколько элементов, если клавиша произвела один символ Unicode вне базовой многоязычной плоскости, который необходимо закодировать соответствующей парой суррогатов в Java, или если клавиша сама произвела несколько символов Unicode.Например,
characterбудет иметь значение "A" для события нажатия клавиши, сгенерированного нажатием SHIFT + 'a'. Для событий key pressed и key released,characterвсегда равнаCHAR_UNDEFINED.- Возвращает:
- Символ(ы) Unicode, связанные с событием нажатия клавиши.
-
getText
public final String getText()
Строка, описывающая код клавиши, например, "HOME", "F1" или "A", для событий key pressed и key released. Для событий key typed,textвсегда является пустой строкой.- Возвращает:
- Строка, описывающая код клавиши.
-
getCode
public final KeyCode getCode()
Код клавиши, связанный с нажатой клавишей в событии key pressed или key released. Для событий key typed,codeвсегда равноKeyCode.UNDEFINED.- Возвращает:
- Код клавиши, связанный с этой клавишей в событии,
KeyCode.UNDEFINEDдля события key typed.
-
isShiftDown
public final boolean isShiftDown()
Возвращает значение true, если клавиша Shift нажата в данном событии.- Возвращает:
- значение true, если клавиша Shift нажата в данном событии.
-
isControlDown
public final boolean isControlDown()
Возвращает значение true, если клавиша Control нажата в данном событии.- Возвращает:
- значение true, если клавиша Control нажата в данном событии.
-
isAltDown
public final boolean isAltDown()
Возвращает значение true, если клавиша Alt нажата в данном событии.- Возвращает:
- значение true, если клавиша Alt нажата в данном событии.
-
isMetaDown
public final boolean isMetaDown()
Возвращает значение true, если клавиша Meta нажата в данном событии.- Возвращает:
- значение true, если клавиша Meta нажата в данном событии.
-
isShortcutDown
public final boolean isShortcutDown()
Возвращает значение true, если клавиша-модификатор сокращения нажата в данном событии. Эта клавиша-модификатор часто используется в сокращениях на платформе. Например,controlна Windows иmeta(клавиша Command) на Mac.- Возвращает:
-
true, если клавиша-модификатор сокращения нажата,falseв противном случае
-
toString
public String toString()
Возвращает строковое представление объектаKeyEvent.- Переопределяет:
-
toStringв классеEventObject - Возвращает:
- строковое представление объекта
KeyEvent.
-
copyFor
public KeyEvent copyFor(Object newSource, EventTarget newTarget)
Описание скопировано из класса:EventСоздаёт и возвращает копию этого события с указанным источником и целевым объектом события. Если источник или целевой объект установлен наnull, он заменяется значением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()
Описание скопировано из класса:EventВозвращает тип события этого события. Объекты одного и того же классаEventмогут иметь разные типы событий. Эти типы событий дополнительно указывают, какой тип события произошёл.- Переопределяет:
-
getEventTypeв классеInputEvent - Возвращает:
- тип события
-
© 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.