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