|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
类 KeyStroke
java.lang.Object java.awt.AWTKeyStroke javax.swing.KeyStroke
- 所有已实现的接口:
- Serializable
-
public class KeyStroke
- extends AWTKeyStroke
表示键盘或等效输入设置上的键操作的 KeyStroke。KeyStroke 仅能对应于按下或释放某个特定的键,正如 KEY_PRESSED 和 KEY_RELEASED KeyEvents 执行的操作;或者,它们可能对应于键入特定的 Java 字符,正如 KEY_TYPED KeyEvents 执行的操作。在所有情况下,KeyStroke 都可以指定修饰符(alt、shift、control、meta 或其组合),在针对精确匹配的操作中,这些修饰符必须存在。
KeyStroke 用于定义高级(语义)操作事件。不用捕获每个 keystroke 并抛弃不感兴趣的 keystroke,这些重要的 keystroke 会自动在其注册的 Components 上启动操作。
KeyStroke 是不可变的,而且是惟一的。客户端代码无法创建 KeyStroke;必须使用 getKeyStroke
的变体。这些工厂方法使得 KeyStroke 实现能够高效缓存和共享实例。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
- 另请参见:
Keymap
,getKeyStroke(char)
方法摘要 | |
---|---|
static KeyStroke |
getKeyStroke(char keyChar) 返回 KeyStroke 的共享实例,前者表示指定字符的 KEY_TYPED 事件。 |
static KeyStroke |
getKeyStroke(Character keyChar, int modifiers) 在给出一个 Character 对象和一组修饰符的情况下,返回 KeyStroke 的一个共享实例。 |
static KeyStroke |
getKeyStroke(char keyChar, boolean onKeyRelease) 已过时。 use 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) 分析字符串并返回 KeyStroke 。 |
static KeyStroke |
getKeyStrokeForEvent(KeyEvent anEvent) 返回一个 KeyStroke,它表示生成给定 KeyEvent 的快捷键事件。 |
从类 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)
- 已过时。 use getKeyStroke(char)
- 返回 KeyStroke 的实例,指定该键在按下或释放时是否视为已激活。与此类中的所有其他工厂方法不同,此方法返回的实例不一定被缓存或共享。
-
- 参数:
keyChar
- 键盘上某个键的字符值onKeyRelease
- 如果此 KeyStroke 对应于某个键的释放,则为true
;否则为false
。- 返回:
- 键的 KeyStroke 对象
getKeyStroke
public static KeyStroke getKeyStroke(Character keyChar, int modifiers)
-
在给出一个 Character 对象和一组修饰符的情况下,返回 KeyStroke 的一个共享实例。注意,第一个参数是 Character 类型而不是 char 类型。这是为了避免在调用
getKeyStroke(int keyCode, int modifiers)
时发生无意的冲突。 修饰符由以下任意组合组成:- java.awt.event.InputEvent.SHIFT_MASK (1)
- java.awt.event.InputEvent.CTRL_MASK (2)
- java.awt.event.InputEvent.META_MASK (4)
- java.awt.event.InputEvent.ALT_MASK (8)
-
- 参数:
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.InputEvent.SHIFT_MASK (1)
- java.awt.event.InputEvent.CTRL_MASK (2)
- java.awt.event.InputEvent.META_MASK (4)
- java.awt.event.InputEvent.ALT_MASK (8)
-
- 参数:
keyCode
- 一个 int,指定键盘上某个键的数字代码modifiers
- 任意修饰符的按位或组合onKeyRelease
- 如果 KeyStroke 应该表示一个键释放,则为true
;否则为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.InputEvent.SHIFT_MASK (1)
- java.awt.event.InputEvent.CTRL_MASK (2)
- java.awt.event.InputEvent.META_MASK (4)
- java.awt.event.InputEvent.ALT_MASK (8)
-
- 参数:
keyCode
- 一个 int,指定键盘上某个键的数字代码modifiers
- 任意修饰符的按位或组合- 返回:
- 该键的 KeyStroke 对象
- 另请参见:
KeyEvent
,InputEvent
getKeyStrokeForEvent
public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
-
返回一个 KeyStroke,它表示生成给定 KeyEvent 的快捷键事件。
此方法获得来自 KeyTyped 事件的 keyChar,以及来自 KeyPressed 或 KeyReleased 事件的 keyCode。为所有三种类型的 KeyEvent 获取 KeyEvent 修饰符。
-
- 参数:
anEvent
- 从中获取 KeyStroke 的 KeyEvent- 返回:
- 促成事件的 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 String 或格式不正确的 String 将返回 null。 -
- 参数:
s
- 用上述方法格式化的 String- 返回:
- 该 String 的 KeyStroke 对象,如果指定的 String 为 null 或格式不正确,则返回 null