Класс KeyStroke
- java.lang.Object
-
- java.awt.AWTKeyStroke
-
- javax.swing.KeyStroke
- Все реализованные интерфейсы:
- Serializable
public class KeyStroke extends AWTKeyStroke
Класс KeyStroke представляет собой действие клавиши на клавиатуре или эквивалентном устройстве ввода. KeyStrokes могут соответствовать только нажатию или отпусканию определённой клавиши, так же, как и события KEY_PRESSED и KEY_RELEASED; альтернативно, они могут соответствовать вводу определённого символа Java, как и события KEY_TYPED. Во всех случаях, KeyStrokes могут указывать модификаторы (alt, shift, control, meta, altGraph или их комбинацию), которые должны быть присутствовать во время действия для точного соответствия.
KeyStrokes используются для определения событий действий высокого уровня (семантических). Вместо захвата каждого нажатия клавиши и отбрасывания ненужных, важные нажатия автоматически инициируют действия на компонентах, с которыми они зарегистрированы.
KeyStrokes неизменяемы и предполагаются уникальными. Код клиента не может создать KeyStroke; вместо этого необходимо использовать вариант getKeyStroke. Эти методы-фабрики позволяют реализации KeyStroke эффективно кэшировать и использовать экземпляры.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. С версии 1.4 добавлена поддержка долгосрочного хранения всех JavaBeans™ в пакете java.beans. См. XMLEncoder.
- См. также:
-
Keymap,getKeyStroke(char)
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static KeyStroke |
getKeyStroke(char keyChar) Возвращает общий экземпляр |
static KeyStroke |
getKeyStroke(Character keyChar,
int modifiers) Возвращает общий экземпляр |
static KeyStroke |
getKeyStroke(char keyChar,
boolean onKeyRelease) Устарело. используйте getKeyStroke(char) |
static KeyStroke |
getKeyStroke(int keyCode,
int modifiers) Возвращает общий экземпляр KeyStroke, заданный кодом числовой клавиши и набором модификаторов. |
static KeyStroke |
getKeyStroke(int keyCode,
int modifiers,
boolean onKeyRelease) Возвращает общий экземпляр KeyStroke, заданный кодом числовой клавиши и набором модификаторов, определяя, активируется ли клавиша при нажатии или отпускании. |
static KeyStroke |
getKeyStroke(String s) Разбирает строку и возвращает |
static KeyStroke |
getKeyStrokeForEvent(KeyEvent anEvent) Возвращает KeyStroke, представляющий нажатие, которое сгенерировало данное событие KeyEvent. |
Методы, унаследованные от класса java.awt.AWTKeyStroke
equals, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStrokeForEvent, getKeyChar, getKeyCode, getKeyEventType, getModifiers, hashCode, isOnKeyRelease, readResolve, registerSubclass, toString Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
getKeyStroke
public static KeyStroke getKeyStroke(char keyChar)
Возвращает общий экземпляр KeyStroke, представляющий событие KEY_TYPED для указанного символа.
- Параметры:
-
keyChar— значение символа для клавиши клавиатуры - Возвращает:
- объект KeyStroke для этой клавиши
getKeyStroke
@Deprecated
public static KeyStroke getKeyStroke(char keyChar,
boolean onKeyRelease) Устаревшее. Используйте getKeyStroke(char).
Возвращает экземпляр KeyStroke, определяя, считается ли клавиша активизированной при нажатии или отпускании. В отличие от всех других методов-фабрик в этом классе, экземпляры, возвращаемые этим методом, необязательно кэшируются или разделяются.
- Параметры:
-
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
- См. также:
InputEvent
getKeyStroke
public static KeyStroke getKeyStroke(int keyCode,
int modifiers,
boolean onKeyRelease) Возвращает общий экземпляр KeyStroke, заданный числовым кодом клавиши и набором модификаторов, определяя, активирована ли клавиша при нажатии или отпускании.
Константы «виртуальных клавиш», определённые в 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 для этой клавиши
- См. также:
-
KeyEvent,InputEvent
getKeyStroke
public static KeyStroke getKeyStroke(int keyCode,
int modifiers) Возвращает общий экземпляр KeyStroke, заданный числовым кодом клавиши и набором модификаторов. Возвращаемый KeyStroke будет соответствовать нажатию клавиши.
Константы «виртуальных клавиш», определённые в 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 для этой клавиши
- См. также:
-
KeyEvent,InputEvent
getKeyStrokeForEvent
public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
Возвращает KeyStroke, представляющий ход, который сгенерировал данный KeyEvent.
Этот метод получает 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_". Если нажатие, нажатие или отпускание не указаны, предполагается нажатие. Вот некоторые примеры: "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 или отформатирована неправильно
- См. также:
KeyEvent
© 1993, 2020, 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.