Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
final boolean |
equals |
Возвращает true, если этот объект идентичен указанному объекту. |
static AWTKeyStroke |
getAWTKeyStroke |
Возвращает общий экземпляр AWTKeyStroke, представляющий событие KEY_TYPED для указанного символа. |
static AWTKeyStroke |
getAWTKeyStroke |
Возвращает общий экземпляр AWTKeyStroke по числовому коду клавиши и набору модификаторов. |
static AWTKeyStroke |
getAWTKeyStroke |
Возвращает общий экземпляр AWTKeyStroke по числовому коду клавиши и набору модификаторов, указывая, активируется ли клавиша при нажатии или отпускании. |
static AWTKeyStroke |
getAWTKeyStroke |
Возвращает общий экземпляр AWTKeyStroke, представляющий событие KEY_TYPED для указанного объекта Character и набора модификаторов. |
static AWTKeyStroke |
getAWTKeyStroke |
Разбирает строку и возвращает AWTKeyStroke. |
static AWTKeyStroke |
getAWTKeyStrokeForEvent |
Возвращает AWTKeyStroke, соответствующий нажатию клавиши, вызвавшему заданное событие KeyEvent. |
final char |
getKeyChar() |
Возвращает символ для этого AWTKeyStroke. |
final int |
getKeyCode() |
Возвращает числовой код клавиши для этого AWTKeyStroke. |
final int |
getKeyEventType() |
Возвращает тип KeyEvent, соответствующий этому AWTKeyStroke. |
final int |
getModifiers() |
Возвращает клавиши-модификаторы для этого AWTKeyStroke. |
int |
hashCode() |
Возвращает числовое значение для этого объекта, которое, вероятно, является уникальным, что делает его подходящим значением индекса в хеш-таблице. |
final boolean |
isOnKeyRelease() |
Возвращает, представляет ли этот AWTKeyStroke отпускание клавиши. |
protected Object |
readResolve() |
Возвращает кэшированный экземпляр AWTKeyStroke (или подкласса AWTKeyStroke), равный этому экземпляру. |
protected static void |
registerSubclass |
Устарело. |
String |
toString() |
Возвращает строку, отображающую и описывающую свойства этого объекта. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного периода реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного периода реального времени. |
Подробное описание методов
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.