- java.lang.Object
-
- java.awt.AWTKeyStroke
-
- All Implemented Interfaces:
-
Serializable
- 已知直接子类:
-
KeyStroke
public class AWTKeyStroke extends Object implements Serializable
一个AWTKeyStroke
代表键盘或等效输入设备上的一个关键动作。AWTKeyStroke
可以只对应一个特定键的按下或释放,就像KEY_PRESSED
和KEY_RELEASED KeyEvent
一样; 或者,它们可以对应于键入特定的Java字符,就像KEY_TYPED KeyEvent
一样。 在所有情况下,AWTKeyStroke
可以指定在精确匹配的动作期间必须存在的修饰符(alt,shift,control,meta,altGraph或其组合)。AWTKeyStrokes
是不可变的,意图是独一无二的。 客户端代码不应该自己创建一个AWTKeyStroke
,而应该使用getAWTKeyStroke
的变体。 客户端使用这些工厂方法可以使AWTKeyStroke
实现高效缓存和共享实例。- 从以下版本开始:
- 1.4
- 另请参见:
-
getAWTKeyStroke(char)
, Serialized Form
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
AWTKeyStroke()
构造一个具有默认值的AWTKeyStroke
。protected
AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)
构造具有指定值的AWTKeyStroke
。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 boolean
equals(Object anObject)
如果此对象与指定的对象相同,则返回true。static AWTKeyStroke
getAWTKeyStroke(char keyChar)
返回一个AWTKeyStroke
的共享实例,表示指定字符的KEY_TYPED
事件。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)
返回一个AWTKeyStroke
的共享实例,该实例表示指定的Character对象和一组修饰符的一个KEY_TYPED
事件。static AWTKeyStroke
getAWTKeyStroke(String s)
解析一个字符串并返回一个AWTKeyStroke
。static AWTKeyStroke
getAWTKeyStrokeForEvent(KeyEvent anEvent)
返回一个AWTKeyStroke
,表示生成给定的KeyEvent
。char
getKeyChar()
返回此AWTKeyStroke
的字符。int
getKeyCode()
返回此AWTKeyStroke
的数字键代码。int
getKeyEventType()
返回对应于此AWTKeyStroke
的KeyEvent
的类型。int
getModifiers()
返回此AWTKeyStroke
的修饰键。int
hashCode()
返回可能是唯一的该对象的数值,使其成为哈希表中的索引值的良好选择。boolean
isOnKeyRelease()
返回这个AWTKeyStroke
是否是一个关键版本。protected Object
readResolve()
返回的缓存实例AWTKeyStroke
(或子类AWTKeyStroke
),这是此实例相等。protected static void
registerSubclass(Class<?> subclass)
已过时。String
toString()
返回显示和标识此对象属性的字符串。
-
-
-
构造方法详细信息
-
AWTKeyStroke
protected AWTKeyStroke()
构造一个具有默认值的AWTKeyStroke
。 使用的默认值为: AWTKeyStroke default values Property Default Value Key CharKeyEvent.CHAR_UNDEFINED
Key CodeKeyEvent.VK_UNDEFINED
Modifiers none On key release?false
AWTKeyStroke
s不应由客户端代码构建。 使用变体getAWTKeyStroke
代替。- 另请参见:
-
getAWTKeyStroke(char)
-
AWTKeyStroke
protected AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)
构造具有指定值的AWTKeyStroke
。AWTKeyStroke
不应由客户端代码构建。 改用getAWTKeyStroke
的变体。- 参数
-
keyChar
- 键盘键的字符值 -
keyCode
- 这个AWTKeyStroke
的关键代码 -
modifiers
- 任何修饰符的按位组合 -
onKeyRelease
-true
如果这AWTKeyStroke
对应于密钥释放; 否则为false
- 另请参见:
-
getAWTKeyStroke(char)
-
-
方法详细信息
-
registerSubclass
@Deprecated protected static void registerSubclass(Class<?> subclass)
已过时。该方法没有任何效果,仅存在以避免引入二进制不兼容性。- 参数
-
subclass
- 工厂方法应该创建实例的新类
-
getAWTKeyStroke
public static AWTKeyStroke getAWTKeyStroke(char keyChar)
返回一个AWTKeyStroke
的共享实例,表示指定字符的KEY_TYPED
事件。- 参数
-
keyChar
- 键盘键的字符值 - 结果
-
该键的一个
AWTKeyStroke
对象
-
getAWTKeyStroke
public static AWTKeyStroke getAWTKeyStroke(Character keyChar, int modifiers)
返回一个AWTKeyStroke
的共享实例,该实例表示指定的Character对象的KEY_TYPED
事件和一组修饰符。 请注意,第一个参数的类型是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
- 另请参见:
-
InputEvent
-
getAWTKeyStroke
public static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
返回一个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
- 指定键盘键的数字代码的int -
modifiers
- 任何修饰符的按位组合 -
onKeyRelease
-true
如果AWTKeyStroke
应该代表一个关键版本; 否则为false
- 结果
- 该键的AWTKeyStroke对象
- 另请参见:
-
KeyEvent
,InputEvent
-
-
getAWTKeyStroke
public static AWTKeyStroke getAWTKeyStroke(int keyCode, int modifiers)
返回一个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
对象 - 另请参见:
-
KeyEvent
,InputEvent
-
-
getAWTKeyStrokeForEvent
public static AWTKeyStroke getAWTKeyStrokeForEvent(KeyEvent anEvent)
返回一个AWTKeyStroke
,表示生成给定的KeyEvent
。该方法从
KeyTyped
事件获取keyChar,并从KeyPressed
或KeyReleased
事件获取keyCode。 所有三种类型的KeyEvent
都可以获得KeyEvent
修饰符。- 参数
-
anEvent
-KeyEvent
从中获取AWTKeyStroke
- 结果
-
AWTKeyStroke
沉淀了事件 - 异常
-
NullPointerException
- 如果anEvent
为空
-
getAWTKeyStroke
public static AWTKeyStroke getAWTKeyStroke(String s)
解析一个字符串并返回一个AWTKeyStroke
。 字符串必须具有以下语法:<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" => 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值
- 另请参见:
-
getAWTKeyStroke(char)
,KeyEvent.getKeyChar()
-
getKeyCode
public final int getKeyCode()
返回AWTKeyStroke
的数字键代码。- 结果
- 一个包含键代码值的int
- 另请参见:
-
getAWTKeyStroke(int,int)
,KeyEvent.getKeyCode()
-
getModifiers
public final int getModifiers()
返回此AWTKeyStroke
的修饰键。- 结果
- 一个包含修饰符的int
- 另请参见:
-
getAWTKeyStroke(int,int)
-
isOnKeyRelease
public final boolean isOnKeyRelease()
返回这个AWTKeyStroke
是否是一个关键版本。- 结果
-
true
如果这个AWTKeyStroke
代表了一个关键的版本; 否则为false
- 另请参见:
-
getAWTKeyStroke(int,int,boolean)
-
getKeyEventType
public final int getKeyEventType()
返回对应于此AWTKeyStroke
的KeyEvent
的类型。- 结果
-
KeyEvent.KEY_PRESSED
,KeyEvent.KEY_TYPED
,或KeyEvent.KEY_RELEASED
- 另请参见:
-
KeyEvent
-
hashCode
public int hashCode()
返回可能是唯一的该对象的数值,使其成为哈希表中的索引值的良好选择。- 重写:
-
hashCode
在Object
- 结果
- 一个表示此对象的int
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public final boolean equals(Object anObject)
如果此对象与指定的对象相同,则返回true。- 重写:
-
equals
在Object
- 参数
-
anObject
- 将该对象与之对比的对象 - 结果
- 如果对象相同,则为true
- 另请参见:
-
Object.hashCode()
,HashMap
-
toString
public String toString()
返回显示和标识此对象属性的字符串。 该String
返回的String
可以作为参数传递给getAWTKeyStroke(String)
以产生等于此关键笔划的关键笔划。- 重写:
-
toString
在Object
- 结果
- 该对象的字符串表示形式
- 另请参见:
-
getAWTKeyStroke(String)
-
readResolve
protected Object readResolve() throws ObjectStreamException
返回的缓存实例AWTKeyStroke
(或子类AWTKeyStroke
),这是此实例相等。- 结果
- 一个与此实例相同的缓存实例
- 异常
-
ObjectStreamException
- 如果发生序列化问题
-
-