Класс KeyEvent
- java.util.EventObject
-
- javafx.event.Event
-
- javafx.scene.input.InputEvent
-
- javafx.scene.input.KeyEvent
Все реализованные интерфейсы:
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 EventType<KeyEvent>ANYОбщий супертип для всех типов событий клавиш.static StringCHAR_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(EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)Создаёт новое событие KeyEvent с нулевым источником и целевым объектом и непосредственно указанным объектом KeyCode.KeyEvent(Object source, EventTarget target, EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)Создаёт новое событие KeyEvent с нулевым источником и целевым объектом и непосредственно указанным объектом KeyCode.
-
Краткое описание методов
Все методыМетоды экземпляровКонкретные методы Модификатор и тип Метод и описание KeyEventcopyFor(Object newSource, EventTarget newTarget)Создаёт и возвращает копию этого события с указанным источником и целевым объектом события.KeyEventcopyFor(Object source, EventTarget target, EventType<KeyEvent> type)Создаёт копию данного события с подставленными данными.StringgetCharacter()Символ или последовательность символов Юникода, связанные с событием ввода символа.KeyCodegetCode()Код клавиши, связанный с клавишей в этом событии нажатия или отпускания клавиши.EventType<KeyEvent>getEventType()Возвращает тип события этого события.StringgetText()Строка, описывающая код клавиши, например, "HOME", "F1" или "A", для событий нажатия и отпускания клавиш.booleanisAltDown()Возвращает значение, указывающее, нажата ли клавиша Alt в этом событии.booleanisControlDown()Возвращает значение, указывающее, нажата ли клавиша Ctrl в этом событии.booleanisMetaDown()Возвращает значение, указывающее, нажата ли клавиша Meta в этом событии.booleanisShiftDown()Возвращает значение, указывающее, нажата ли клавиша Shift в этом событии.booleanisShortcutDown()Возвращает значение, указывающее, нажата ли клавиша-модификатор хост-платформы в этом событии.StringtoString()Возвращает строковое представление этого объектаKeyEvent.-
Методы, унаследованные от класса javafx.event.Event
clone, consume, fireEvent, getTarget, isConsumed
-
Методы, унаследованные от класса 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, которые не соответствуют допустимому символу Юникода, используется значение 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 с нулевым источником и целевым объектом и напрямую заданным объектом KeyCode.Параметры:
source— источник события. Может быть null.С тех пор:
JavaFX 8.0
-
KeyEvent
public KeyEvent(EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)Создаёт новое событие KeyEvent с нулевым источником и целевым объектом и напрямую заданным объектом KeyCode.Параметры:
eventType— тип события.С тех пор:
JavaFX 8.0
-
-
Подробное описание методов
-
getCharacter
public final String getCharacter()
Символ Юникода или последовательность символов, связанная со событием ввода с клавиатуры. Содержит несколько элементов, если клавиша произвела один символ Юникода вне Основной многоязычной плоскости, который должен быть закодирован соответствующей парой суррогатов в Java, или если клавиша сама произвела несколько символов Юникода. Например,characterбудет иметь значение "A" для события ввода с клавиатуры, сгенерированного нажатием SHIFT + 'a'. Для событий нажатия и отпускания клавиш,characterвсегда равняетсяCHAR_UNDEFINED.Возвращает:
Символ(ы) Юникода, связанные со событием ввода с клавиатуры
-
getText
public final String getText()
Строка, описывающая код клавиши, например, "HOME", "F1" или "A", для событий нажатия и отпускания клавиш. Для событий ввода с клавиатуры,textвсегда является пустой строкой.Возвращает:
Строка, описывающая код клавиши
-
getCode
public final KeyCode getCode()
Код клавиши, связанный с клавишей в этом событии нажатия или отпускания клавиши. Для событий ввода с клавиатуры,codeвсегда равняетсяKeyCode.UNDEFINED.Возвращает:
Код клавиши, связанный с клавишей в этом событии;
KeyCode.UNDEFINEDдля события ввода с клавиатуры.
-
isShiftDown
public final boolean isShiftDown()
Возвращает значение true, если клавиша Shift нажата в этом событии, и false в противном случае.Возвращает:
значение true, если клавиша Shift нажата в этом событии, и false в противном случае.
-
isControlDown
public final boolean isControlDown()
Возвращает значение true, если клавиша Control нажата в этом событии, и false в противном случае.Возвращает:
значение true, если клавиша Control нажата в этом событии, и false в противном случае.
-
isAltDown
public final boolean isAltDown()
Возвращает значение true, если клавиша Alt нажата в этом событии, и false в противном случае.Возвращает:
значение true, если клавиша Alt нажата в этом событии, и false в противном случае.
-
isMetaDown
public final boolean isMetaDown()
Возвращает значение true, если клавиша Meta нажата в этом событии, и false в противном случае.Возвращает:
значение true, если клавиша Meta нажата в этом событии, и false в противном случае.
-
isShortcutDown
public final boolean isShortcutDown()
Возвращает значение true, если клавиша-модификатор сокращения, общая для платформы, нажата в этом событии. Эта клавиша-модификатор обычно используется в сокращениях на платформе. Например,controlв Windows иmeta(клавиша Command) в macOS.Возвращает:
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— новый источник скопированного событияВозвращает:
копию события с подставленными полями
С тех пор:
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.