Spec-Zone.ru › OpenJDK 17

Класс 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 автоматически запускают действия на компонентах, с которыми они зарегистрированы.

KeyStrokes неизменяемы и предназначены для уникальности. Клиентский код не может создать KeyStroke; вместо этого необходимо использовать вариант getKeyStroke. Эти методы-фабрики позволяют реализации KeyStroke эффективно кэшировать и разделять экземпляры.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. Пожалуйста, см. XMLEncoder.

С тех пор:
1.2
См. также:
  • Keymap
  • getKeyStroke(char)

Краткое описание методов

Модификатор и тип Метод Описание
static KeyStroke getKeyStroke(char keyChar)
Возвращает общий экземпляр KeyStroke, который представляет событие KEY_TYPED для указанного символа.
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(Character keyChar, int modifiers)
Возвращает общий экземпляр KeyStroke, который представляет событие KEY_TYPED для указанного объекта Character и набора модификаторов.
static KeyStroke getKeyStroke(String s)
Разбирает строку и возвращает KeyStroke.
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
Старые модификаторы, перечисленные ниже, также могут быть использованы, но они сопоставляются с модификаторами _DOWN.
  • 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
также могут быть использованы, но они сопоставляются с модификаторами _DOWN. Поскольку все эти числа являются различными степенями двойки, любая комбинация из них представляет собой целое число, в котором каждый бит обозначает отдельную клавишу-модификатор. Используйте 0 для указания отсутствия модификаторов.
Параметры:
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
также могут быть использованы, но они сопоставляются с модификаторами _DOWN. Поскольку все эти числа являются различными степенями двойки, любая комбинация из них представляет собой целое число, в котором каждый бит обозначает отдельную клавишу-модификатор. Используйте 0 для указания отсутствия модификаторов.
Параметры:
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
также могут быть использованы, но они сопоставляются с модификаторами _DOWN. Поскольку все эти числа являются различными степенями двойки, любая комбинация из них представляет собой целое число, в котором каждый бит обозначает отдельную клавишу-модификатор. Используйте 0 для указания отсутствия модификаторов.
Параметры:
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_".
 
Если 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 или отформатирована неправильно
См. также:
  • KeyEvent

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API