java.lang.Object
java.awt.AWTKeyStroke
- 所有已实现的接口:
-
Serializable
- 直接已知的子类:
-
KeyStroke
AWTKeyStroke
表示键盘上的按键操作,或等效的输入设备。 AWTKeyStroke
可以对应于特定键的按下或释放,就像KEY_PRESSED
和KEY_RELEASED KeyEvent
一样;或者,它们可以对应于键入特定的Java字符,就像KEY_TYPED KeyEvent
一样。在所有情况下,AWTKeyStroke
可以指定必须在动作期间存在的修饰符(alt、shift、control、meta、altGraph,或这些修饰符的组合)以进行精确匹配。
AWTKeyStrokes
是不可变的,并且旨在是唯一的。客户端代码不应该自行创建AWTKeyStroke
,而应该使用getAWTKeyStroke
的变体。客户端使用这些工厂方法允许AWTKeyStroke
实现有效地缓存和共享实例。
- 自:
- 1.4
- 另请参阅:
-
Constructor Summary
ModifierConstructorDescriptionprotected
构造具有默认值的AWTKeyStroke
。protected
AWTKeyStroke
(char keyChar, int keyCode, int modifiers, boolean onKeyRelease) 构造具有指定值的AWTKeyStroke
。 -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
如果此对象与指定对象相同,则返回true。static AWTKeyStroke
getAWTKeyStroke
(char keyChar) 返回表示指定字符的KEY_TYPED
事件的AWTKeyStroke
的共享实例。static AWTKeyStroke
getAWTKeyStroke
(int keyCode, int modifiers) 返回给定数字键代码和一组修饰符的AWTKeyStroke
的共享实例。static AWTKeyStroke
getAWTKeyStroke
(int keyCode, int modifiers, boolean onKeyRelease) 返回给定数字键代码和一组修饰符的AWTKeyStroke
的共享实例,指定按下或释放键时键是否被激活。static AWTKeyStroke
getAWTKeyStroke
(Character keyChar, int modifiers) 返回表示指定Character对象和一组修饰符的KEY_TYPED
事件的AWTKeyStroke
的共享实例。static AWTKeyStroke
解析字符串并返回一个AWTKeyStroke
。static AWTKeyStroke
getAWTKeyStrokeForEvent
(KeyEvent anEvent) 返回生成给定KeyEvent
的键击的AWTKeyStroke
。final char
返回此AWTKeyStroke
的字符。final int
返回此AWTKeyStroke
的数字键代码。final int
返回与此AWTKeyStroke
对应的KeyEvent
类型。final int
返回此AWTKeyStroke
的修饰键。int
hashCode()
返回此对象的数值,可能是唯一的,使其成为哈希表中的索引值的良好选择。final boolean
返回此AWTKeyStroke
是否表示键释放。protected Object
返回等于此实例的缓存AWTKeyStroke
(或AWTKeyStroke
的子类)的实例。protected static void
registerSubclass
(Class<?> subclass) 已弃用。toString()
返回显示和标识此对象属性的字符串。
-
Constructor Details
-
AWTKeyStroke
protected AWTKeyStroke()使用默认值构造AWTKeyStroke
。使用的默认值为:AWTKeyStroke默认值 属性 默认值 键字符 KeyEvent.CHAR_UNDEFINED
键代码 KeyEvent.VK_UNDEFINED
修饰符 无 按键释放时? false
AWTKeyStroke
不应该由客户端代码构造。请改用getAWTKeyStroke
的变体。- 另请参阅:
-
AWTKeyStroke
protected AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease) 使用指定值构造AWTKeyStroke
。不应该由客户端代码构造AWTKeyStroke
。请改用getAWTKeyStroke
的变体。- 参数:
-
keyChar
- 键盘键的字符值 -
keyCode
- 此AWTKeyStroke
的键代码 -
modifiers
- 任何修饰符的按位或组合 -
onKeyRelease
- 如果此AWTKeyStroke
对应于键释放,则为true
;否则为false
- 另请参阅:
-
-
Method Details
-
registerSubclass
Deprecated.该方法没有效果,只是保留在那里以避免引入二进制不兼容性。- 参数:
-
subclass
- 工厂方法应创建实例的新类
-
getAWTKeyStroke
返回表示指定字符的KEY_TYPED
事件的AWTKeyStroke
的共享实例。- 参数:
-
keyChar
- 键盘键的字符值 - 返回:
-
该键的
AWTKeyStroke
对象
-
getAWTKeyStroke
返回表示指定Character对象和一组修饰符的KEY_TYPED
事件的AWTKeyStroke
的共享实例。请注意,第一个参数的类型为Character而不是char。这是为了避免与调用getAWTKeyStroke(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
- 任何修饰符的按位或组合 - 返回:
-
该键的
AWTKeyStroke
对象 - 抛出:
-
IllegalArgumentException
- 如果keyChar
为null
- 另请参阅:
-
getAWTKeyStroke
返回给定数字键代码和一组修饰符的AWTKeyStroke
的共享实例,指定键在按下或释放时是否被激活。在
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
- 如果AWTKeyStroke
应表示键释放,则为true
;否则为false
- 返回:
- 该键的AWTKeyStroke对象
- 另请参阅:
-
getAWTKeyStroke
返回给定数字键代码和一组修饰符的AWTKeyStroke
的共享实例。返回的AWTKeyStroke
将对应于按键。在
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_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
- 一个int,指定键盘按键的数字代码 -
modifiers
- 任意修饰符的按位或组合 - 返回:
-
代表该键的
AWTKeyStroke
对象 - 参见:
-
getAWTKeyStrokeForEvent
返回生成给定KeyEvent
的按键所表示的AWTKeyStroke
。此方法从
KeyTyped
事件获取keyChar,并从KeyPressed
或KeyReleased
事件获取keyCode。对于所有三种类型的KeyEvent
,都会获取KeyEvent
修饰符。- 参数:
-
anEvent
- 从中获取AWTKeyStroke
的KeyEvent
- 返回:
-
引发事件的
AWTKeyStroke
- 抛出:
-
NullPointerException
- 如果anEvent
为null
-
getAWTKeyStroke
解析字符串并返回AWTKeyStroke
。字符串必须具有以下语法:<modifiers>* (<typedID> | <pressedReleasedID>) modifiers := shift | control | ctrl | meta | alt | altGraph typedID := typed <typedKey> typedKey := 长度为1的Unicode字符的字符串。 pressedReleasedID := (pressed | released) key key := KeyEvent键码名称,即在"VK_"之后的名称。
如果未指定typed、pressed或released,则假定为pressed。以下是一些示例:"INSERT" => getAWTKeyStroke(KeyEvent.VK_INSERT, 0); "control DELETE" => getAWTKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_MASK); "alt shift X" => getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK); "alt shift released X" => getAWTKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true); "typed a" => getAWTKeyStroke('a');
- 参数:
-
s
- 格式如上所述的字符串 - 返回:
-
代表该字符串的
AWTKeyStroke
对象 - 抛出:
-
IllegalArgumentException
- 如果s
为null
,或格式不正确
-
getKeyChar
public final char getKeyChar()返回此AWTKeyStroke
的字符。- 返回:
- 一个char值
- 参见:
-
getKeyCode
public final int getKeyCode()返回此AWTKeyStroke
的数字键码。- 返回:
- 包含键码值的int
- 参见:
-
getModifiers
public final int getModifiers()返回此AWTKeyStroke
的修饰键。- 返回:
- 包含修饰符的int
- 参见:
-
isOnKeyRelease
public final boolean isOnKeyRelease()返回此AWTKeyStroke
是否表示按键释放。- 返回:
-
如果此
AWTKeyStroke
表示按键释放,则为true
;否则为false
- 参见:
-
getKeyEventType
public final int getKeyEventType()返回与此AWTKeyStroke
对应的KeyEvent
类型。- 返回:
-
KeyEvent.KEY_PRESSED
、KeyEvent.KEY_TYPED
或KeyEvent.KEY_RELEASED
- 参见:
-
hashCode
public int hashCode()返回此对象的数值,可能是唯一的,使其成为哈希表中的索引值的良好选择。 -
equals
如果此对象与指定对象相同,则返回true。 -
toString
返回显示和标识此对象属性的字符串。此方法返回的String
可以作为参数传递给getAWTKeyStroke(String)
,以生成等于此按键的按键。 -
readResolve
返回等于此实例的AWTKeyStroke
(或AWTKeyStroke
的子类)的缓存实例。- 返回:
- 与此实例相等的缓存实例
- 抛出:
-
ObjectStreamException
- 如果发生序列化问题
-