- 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 描述 protectedAWTKeyStroke()构造一个具有默认值的AWTKeyStroke。protectedAWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)构造具有指定值的AWTKeyStroke。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 booleanequals(Object anObject)如果此对象与指定的对象相同,则返回true。static AWTKeyStrokegetAWTKeyStroke(char keyChar)返回一个AWTKeyStroke的共享实例,表示指定字符的KEY_TYPED事件。static AWTKeyStrokegetAWTKeyStroke(int keyCode, int modifiers)返回一个AWTKeyStroke的共享实例,给出一个数字键代码和一组修饰符。static AWTKeyStrokegetAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)返回一个AWTKeyStroke的共享实例,给出一个数字键代码和一组修饰符,指定按下或释放键是否被激活。static AWTKeyStrokegetAWTKeyStroke(Character keyChar, int modifiers)返回一个AWTKeyStroke的共享实例,该实例表示指定的Character对象和一组修饰符的一个KEY_TYPED事件。static AWTKeyStrokegetAWTKeyStroke(String s)解析一个字符串并返回一个AWTKeyStroke。static AWTKeyStrokegetAWTKeyStrokeForEvent(KeyEvent anEvent)返回一个AWTKeyStroke,表示生成给定的KeyEvent。chargetKeyChar()返回此AWTKeyStroke的字符。intgetKeyCode()返回此AWTKeyStroke的数字键代码。intgetKeyEventType()返回对应于此AWTKeyStroke的KeyEvent的类型。intgetModifiers()返回此AWTKeyStroke的修饰键。inthashCode()返回可能是唯一的该对象的数值,使其成为哈希表中的索引值的良好选择。booleanisOnKeyRelease()返回这个AWTKeyStroke是否是一个关键版本。protected ObjectreadResolve()返回的缓存实例AWTKeyStroke(或子类AWTKeyStroke),这是此实例相等。protected static voidregisterSubclass(Class<?> subclass)已过时。StringtoString()返回显示和标识此对象属性的字符串。
-
-
-
构造方法详细信息
-
AWTKeyStroke
protected AWTKeyStroke()
构造一个具有默认值的AWTKeyStroke。 使用的默认值为: AWTKeyStroke default values Property Default Value Key CharKeyEvent.CHAR_UNDEFINEDKey CodeKeyEvent.VK_UNDEFINEDModifiers none On key release?falseAWTKeyStrokes不应由客户端代码构建。 使用变体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- 如果发生序列化问题
-
-