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
ConstructorsModifierConstructorDescriptionprotected构造具有默认值的AWTKeyStroke。protectedAWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease) 构造具有指定值的AWTKeyStroke。 -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean如果此对象与指定对象相同,则返回true。static AWTKeyStrokegetAWTKeyStroke(char keyChar) 返回表示指定字符的KEY_TYPED事件的AWTKeyStroke的共享实例。static AWTKeyStrokegetAWTKeyStroke(int keyCode, int modifiers) 返回给定数字键代码和一组修饰符的AWTKeyStroke的共享实例。static AWTKeyStrokegetAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease) 返回给定数字键代码和一组修饰符的AWTKeyStroke的共享实例,指定按下或释放键时键是否被激活。static AWTKeyStrokegetAWTKeyStroke(Character keyChar, int modifiers) 返回表示指定Character对象和一组修饰符的KEY_TYPED事件的AWTKeyStroke的共享实例。static AWTKeyStroke解析字符串并返回一个AWTKeyStroke。static AWTKeyStrokegetAWTKeyStrokeForEvent(KeyEvent anEvent) 返回生成给定KeyEvent的键击的AWTKeyStroke。final char返回此AWTKeyStroke的字符。final int返回此AWTKeyStroke的数字键代码。final int返回与此AWTKeyStroke对应的KeyEvent类型。final int返回此AWTKeyStroke的修饰键。inthashCode()返回此对象的数值,可能是唯一的,使其成为哈希表中的索引值的良好选择。final boolean返回此AWTKeyStroke是否表示键释放。protected Object返回等于此实例的缓存AWTKeyStroke(或AWTKeyStroke的子类)的实例。protected static voidregisterSubclass(Class<?> subclass) 已弃用。toString()返回显示和标识此对象属性的字符串。
-
Constructor Details
-
AWTKeyStroke
protected AWTKeyStroke()使用默认值构造AWTKeyStroke。使用的默认值为:AWTKeyStroke默认值 属性 默认值 键字符 KeyEvent.CHAR_UNDEFINED键代码 KeyEvent.VK_UNDEFINED修饰符 无 按键释放时? falseAWTKeyStroke不应该由客户端代码构造。请改用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_ENTERjava.awt.event.KeyEvent.VK_TABjava.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_ENTERjava.awt.event.KeyEvent.VK_TABjava.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- 如果发生序列化问题
-