Класс KeyStroke
- Все реализованные интерфейсы:
Serializable
public class KeyStroke extends AWTKeyStroke
KeyStroke используются для определения высокоуровневых (семантических) событий действий. Вместо того чтобы перехватывать каждое нажатие клавиши и отбрасывать те, которые вас не интересуют, нажатия клавиш, которые вас интересуют, автоматически инициируют действия в компонентах, с которыми они зарегистрированы.
KeyStroke неизменяемы и предназначены для уникального использования. Клиентский код не может создать KeyStroke; вместо этого необходимо использовать вариант getKeyStroke. Эти фабричные методы позволяют реализации KeyStroke эффективно кэшировать экземпляры и совместно использовать их.
Предупреждение: Сериализованные объекты этого класса будут несовместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
- Начиная с версии:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static KeyStroke |
getKeyStroke |
Возвращает общий экземпляр KeyStroke, представляющий событие KEY_TYPED для указанного символа. |
static KeyStroke |
getKeyStroke |
Устарело. используйте getKeyStroke(char) |
static KeyStroke |
getKeyStroke |
Возвращает общий экземпляр KeyStroke по числовому коду клавиши и набору модификаторов. |
static KeyStroke |
getKeyStroke |
Возвращает общий экземпляр KeyStroke по числовому коду клавиши и набору модификаторов, указывая, активируется ли клавиша при нажатии или отпускании. |
static KeyStroke |
getKeyStroke |
Возвращает общий экземпляр KeyStroke, представляющий событие KEY_TYPED для указанного объекта Character и набора модификаторов. |
static KeyStroke |
getKeyStroke |
Разбирает строку и возвращает KeyStroke. |
static KeyStroke |
getKeyStrokeForEvent |
Возвращает KeyStroke, соответствующий нажатию клавиши, вызвавшему данное событие KeyEvent. |
Методы, объявленные в классе AWTKeyStroke
equals, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStrokeForEvent, getKeyChar, getKeyCode, getKeyEventType, getModifiers, hashCode, isOnKeyRelease, readResolve, registerSubclass, toString
Подробное описание методов
getKeyStroke
public static KeyStroke getKeyStroke(char keyChar)
KeyStroke, представляющий событие KEY_TYPED для указанного символа.- Параметры:
-
keyChar— значение символа для клавиши - Возвращает:
- объект KeyStroke для этой клавиши
getKeyStroke
@Deprecated public static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease)
- Параметры:
-
keyChar— значение символа для клавиши -
onKeyRelease—true, если этот KeyStroke соответствует отпусканию клавиши;falseв противном случае. - Возвращает:
- объект KeyStroke для этой клавиши
getKeyStroke
public static KeyStroke getKeyStroke(Character keyChar, int modifiers)
KeyStroke, представляющий событие KEY_TYPED для указанного объекта Character и набора модификаторов. Обратите внимание, что первый параметр имеет тип Character, а не char. Это позволяет избежать непреднамеренных конфликтов при вызовах getKeyStroke(int keyCode, int modifiers). Модификаторы могут представлять собой любую комбинацию следующих значений:- java.awt.event.InputEvent.SHIFT_DOWN_MASK
- java.awt.event.InputEvent.CTRL_DOWN_MASK
- java.awt.event.InputEvent.META_DOWN_MASK
- java.awt.event.InputEvent.ALT_DOWN_MASK
- java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
- java.awt.event.InputEvent.SHIFT_MASK
- java.awt.event.InputEvent.CTRL_MASK
- java.awt.event.InputEvent.META_MASK
- java.awt.event.InputEvent.ALT_MASK
- java.awt.event.InputEvent.ALT_GRAPH_MASK
- Параметры:
-
keyChar— объект Character, представляющий символ клавиатуры -
modifiers— побитовое ИЛИ любых модификаторов - Возвращает:
- объект KeyStroke для этой клавиши
- Исключения:
-
IllegalArgumentException— если keyChar равен null - Начиная с:
- 1.3
- См. также:
getKeyStroke
public static KeyStroke getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
Для указания кода клавиши можно использовать константы «виртуальных клавиш», определённые в java.awt.event.KeyEvent. Например:
- java.awt.event.KeyEvent.VK_ENTER
- java.awt.event.KeyEvent.VK_TAB
- java.awt.event.KeyEvent.VK_SPACE
java.awt.event.KeyEvent.getExtendedKeyCodeForChar. Модификаторы могут представлять собой любую комбинацию следующих значений:- java.awt.event.InputEvent.SHIFT_DOWN_MASK
- java.awt.event.InputEvent.CTRL_DOWN_MASK
- java.awt.event.InputEvent.META_DOWN_MASK
- java.awt.event.InputEvent.ALT_DOWN_MASK
- java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
- java.awt.event.InputEvent.SHIFT_MASK
- java.awt.event.InputEvent.CTRL_MASK
- java.awt.event.InputEvent.META_MASK
- java.awt.event.InputEvent.ALT_MASK
- java.awt.event.InputEvent.ALT_GRAPH_MASK
- Параметры:
-
keyCode— целое число, задающее числовой код клавиши -
modifiers— побитовое ИЛИ любых модификаторов -
onKeyRelease—true, если KeyStroke должен представлять отпускание клавиши;falseв противном случае. - Возвращает:
- объект KeyStroke для этой клавиши
- См. также:
getKeyStroke
public static KeyStroke getKeyStroke(int keyCode, int modifiers)
Для указания кода клавиши можно использовать константы «виртуальных клавиш», определённые в java.awt.event.KeyEvent. Например:
- java.awt.event.KeyEvent.VK_ENTER
- java.awt.event.KeyEvent.VK_TAB
- java.awt.event.KeyEvent.VK_SPACE
java.awt.event.KeyEvent.getExtendedKeyCodeForChar. Модификаторы могут представлять собой любую комбинацию следующих значений:- java.awt.event.InputEvent.SHIFT_DOWN_MASK
- java.awt.event.InputEvent.CTRL_DOWN_MASK
- java.awt.event.InputEvent.META_DOWN_MASK
- java.awt.event.InputEvent.ALT_DOWN_MASK
- java.awt.event.InputEvent.ALT_GRAPH_DOWN_MASK
- java.awt.event.InputEvent.SHIFT_MASK
- java.awt.event.InputEvent.CTRL_MASK
- java.awt.event.InputEvent.META_MASK
- java.awt.event.InputEvent.ALT_MASK
- java.awt.event.InputEvent.ALT_GRAPH_MASK
- Параметры:
-
keyCode— целое число, задающее числовой код клавиши -
modifiers— побитовое ИЛИ любых модификаторов - Возвращает:
- объект KeyStroke для этой клавиши
- См. также:
getKeyStrokeForEvent
public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
Этот метод получает keyChar из события KeyTyped, а keyCode — из события KeyPressed или KeyReleased. Модификаторы KeyEvent получают для всех трёх типов KeyEvent.
- Параметры:
-
anEvent— KeyEvent, из которого нужно получить KeyStroke - Возвращает:
- KeyStroke, вызвавший событие
- Вызывает исключение:
-
NullPointerException— еслиanEventравен null
getKeyStroke
public static KeyStroke getKeyStroke(String s)
KeyStroke. Строка должна иметь следующий синтаксис: <modifiers>* (<typedID> | <pressedReleasedID>) modifiers := shift | control | ctrl | meta | alt | altGraph typedID := typed <typedKey> typedKey := string of length 1 giving Unicode character. pressedReleasedID := (pressed | released) key key := KeyEvent key code name, i.e. the name following "VK_".Если не указано typed, pressed или released, предполагается pressed. Ниже приведены примеры:
"INSERT" => getKeyStroke(KeyEvent.VK_INSERT, 0);
"control DELETE" => getKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_MASK);
"alt shift X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK);
"alt shift released X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true);
"typed a" => getKeyStroke('a');
Для обеспечения обратной совместимости при указании строки null или строки с неверным форматом возвращается null.- Параметры:
-
s— строка в описанном выше формате - Возвращает:
- объект KeyStroke для этой строки или null, если указанная строка равна null либо имеет неверный формат
- См. также:
© 1993, 2025, 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/25/docs/api/java.desktop/javax/swing/KeyStroke.html