Класс KeyStroke
- Все реализованные интерфейсы:
Serializable
public class KeyStroke extends AWTKeyStroke
KeyStrokes используются для определения событий действий высокого уровня (семантических). Вместо того, чтобы ловить каждое нажатие клавиши и отбрасывать ненужные, интересующие KeyStrokes автоматически запускают действия на компонентах, с которыми они зарегистрированы.
KeyStrokes неизменяемы и предназначены для уникальности. Клиентский код не может создать KeyStroke; вместо этого необходимо использовать вариант getKeyStroke. Эти методы-фабрики позволяют реализации KeyStroke эффективно кэшировать и разделять экземпляры.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. Пожалуйста, см. 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. |
Методы, объявленные в классе java.awt.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, 2021, 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/17/docs/api/java.desktop/javax/swing/KeyStroke.html