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高效缓存和共享实例。
getAWTKeyStroke(char) ,
Serialized Form
| Modifier | Constructor and Description |
|---|---|
protected |
AWTKeyStroke()
构造具有默认值的
AWTKeyStroke 。
|
protected |
AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)
构造一个
AWTKeyStroke具有指定值。
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object anObject)
如果此对象与指定的对象相同,则返回true。
|
static AWTKeyStroke |
getAWTKeyStroke(char keyChar)
返回一个
AWTKeyStroke的共享实例,表示
AWTKeyStroke字符的一个
KEY_TYPED事件。
|
static AWTKeyStroke |
getAWTKeyStroke(Character keyChar, int modifiers)
返回一个
AWTKeyStroke的共享实例,表示指定的Character对象和一组修饰符的一个
KEY_TYPED事件。
|
static AWTKeyStroke |
getAWTKeyStroke(int keyCode, int modifiers)
返回
AWTKeyStroke的共享实例,给定一个数字键代码和一组修饰符。
|
static AWTKeyStroke |
getAWTKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
返回一个
AWTKeyStroke的共享实例,给定一个数字键代码和一组修饰符,指定按下或释放该键是否被激活。
|
static AWTKeyStroke |
getAWTKeyStroke(String s)
解析一个字符串并返回一个
AWTKeyStroke 。
|
static AWTKeyStroke |
getAWTKeyStrokeForEvent(KeyEvent anEvent)
返回一个
AWTKeyStroke ,表示生成给定的
KeyEvent 。
|
char |
getKeyChar()
返回这个AWTKeyStroke的
AWTKeyStroke 。
|
int |
getKeyCode()
返回此
AWTKeyStroke的数字键代码。
|
int |
getKeyEventType()
返回类型
KeyEvent对应于这个
AWTKeyStroke 。
|
int |
getModifiers()
返回此
AWTKeyStroke的修饰键。
|
int |
hashCode()
返回可能是唯一的该对象的数值,使其成为哈希表中的索引值的良好选择。
|
boolean |
isOnKeyRelease()
返回这个
AWTKeyStroke是否是一个关键版本。
|
protected Object |
readResolve()
返回的缓存实例
AWTKeyStroke (或子类
AWTKeyStroke ),这是此实例相等。
|
protected static void |
registerSubclass(类<?> subclass)
其注册的工厂方法一类新
AWTKeyStroke产生的新实例时将使用
AWTKeyStroke秒。
|
String |
toString()
返回显示和标识此对象属性的字符串。
|
protected AWTKeyStroke()
AWTKeyStroke 。
使用的默认值为:
Property Default Value Key Char KeyEvent.CHAR_UNDEFINED Key Code KeyEvent.VK_UNDEFINED Modifiers none On key release? false
AWTKeyStroke不应该由客户端代码构造。
使用getAWTKeyStroke的变体。
getAWTKeyStroke(char)
protected AWTKeyStroke(char keyChar,
int keyCode,
int modifiers,
boolean onKeyRelease)
AWTKeyStroke具有指定值。
AWTKeyStroke不应该由客户端代码构造。
使用getAWTKeyStroke的变体。
keyChar - 键盘键的字符值
keyCode - 这个
AWTKeyStroke的关键代码
modifiers - 任何修饰符的按位组合
onKeyRelease - true如果这个AWTKeyStroke对应于密钥释放;
false否则
getAWTKeyStroke(char)
protected static void registerSubclass(类<?> subclass)
AWTKeyStroke产生的新实例时将使用AWTKeyStroke秒。
调用此方法后,factory方法将返回指定Class的实例。
指定的类必须是AWTKeyStroke或从AWTKeyStroke ,并且必须具有无参数构造函数。
构造函数可以是任何可访问性,包括private 。
此操作将刷新当前的AWTKeyStroke缓存。
subclass - 工厂方法应该创建实例的新类
IllegalArgumentException - 如果子类是
null ,或者如果子类没有无参数构造函数
ClassCastException - 如果子类不是
AWTKeyStroke ,或者派生自
AWTKeyStroke的类
public static AWTKeyStroke getAWTKeyStroke(char keyChar)
AWTKeyStroke的共享实例,代表
AWTKeyStroke字符的一个
KEY_TYPED事件。
keyChar - 键盘键的字符值
AWTKeyStroke对象
public static AWTKeyStroke getAWTKeyStroke(Character keyChar, int modifiers)
AWTKeyStroke的共享实例,表示指定的Character对象的一个KEY_TYPED事件和一组修饰符。
请注意,第一个参数的类型是Character而不是char。
这是为了避免无意中的冲突与呼叫getAWTKeyStroke(int keyCode, int modifiers) 。
修饰符由以下任意组合组成:
keyChar - 键盘字符的Character对象
modifiers - 任何修饰符的按位组合
AWTKeyStroke对象
IllegalArgumentException - 如果
keyChar是
null
InputEvent
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获得。
修饰符由以下任何组合组成:
keyCode - 指定键盘键的数字代码的int
modifiers - 任何修饰符的按位组合
onKeyRelease - true如果AWTKeyStroke应该代表一个关键版本;
false否则
KeyEvent , InputEvent
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 keyCode - 指定键盘键的数字代码的int
modifiers - 任何修饰符的按位组合
AWTKeyStroke对象
KeyEvent , InputEvent
public static AWTKeyStroke getAWTKeyStrokeForEvent(KeyEvent anEvent)
AWTKeyStroke ,表示生成给定的笔划的笔画KeyEvent 。
此方法从KeyTyped事件获取keyChar,并从KeyPressed或KeyReleased事件获取keyCode。 KeyEvent修饰符是针对所有三种类型的KeyEvent 。
anEvent -
KeyEvent获取
AWTKeyStroke
AWTKeyStroke沉淀了事件
NullPointerException - 如果
anEvent为空
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 - 如上所述
s的字符串
AWTKeyStroke对象
IllegalArgumentException - 如果
s是
null ,或格式不正确
public final char getKeyChar()
AWTKeyStroke 。
getAWTKeyStroke(char) ,
KeyEvent.getKeyChar()
public final int getKeyCode()
AWTKeyStroke的数字键代码。
getAWTKeyStroke(int,int) ,
KeyEvent.getKeyCode()
public final int getModifiers()
AWTKeyStroke的修饰键。
getAWTKeyStroke(int,int)
public final boolean isOnKeyRelease()
AWTKeyStroke是否是一个关键版本。
true如果这个AWTKeyStroke代表一个关键版本;
false否则
getAWTKeyStroke(int,int,boolean)
public final int getKeyEventType()
KeyEvent对应于这个
AWTKeyStroke 。
KeyEvent.KEY_PRESSED ,
KeyEvent.KEY_TYPED ,或
KeyEvent.KEY_RELEASED
KeyEvent
public int hashCode()
hashCode在类别
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public final boolean equals(Object anObject)
equals在类别
Object
anObject - 将此对象与之对比的对象
Object.hashCode() , HashMap
public String toString()
String可以作为参数传递给getAWTKeyStroke(String)以产生等于此关键行程的关键笔划。
toString ,在类别
Object
getAWTKeyStroke(String)
protected Object readResolve() throws ObjectStreamException
AWTKeyStroke (或子类
AWTKeyStroke ),这是此实例相等。
ObjectStreamException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.