java.lang.Object java.awt.AWTKeyStroke
public class AWTKeyStroke
AWTKeyStroke
表示键盘(或等效输入设备)上的键操作。正如 KEY_PRESSED
和 KEY_RELEASED
KeyEvent
一样,AWTKeyStroke
仅对应于一个特定键的按下或释放;另一方面,它们与 KEY_TYPED
KeyEvent
事件一样,对应于键入一个特定 Java 字符的操作。在所有情况下,AWTKeyStroke
都可以指定修改键(alt、shift、control、meta、altGraph 或它们的组合),在针对精确匹配的操作中,这些修改键必须存在。
AWTKeyStrokes
是不可变的,并且应该是唯一的。客户机代码绝对不能自己创建 AWTKeyStroke
,而应该使用 getAWTKeyStroke
的一个变体代替。使用这些工厂方法的客户机允许 AWTKeyStroke
实现有效地缓存和共享实例。
getAWTKeyStroke(char)
,
序列化表格
构造方法摘要 | |
---|---|
protected |
AWTKeyStroke() 使用默认值构造 AWTKeyStroke 。 |
protected |
AWTKeyStroke(char keyChar, int keyCode, int modifiers, boolean onKeyRelease) 使用指定值构造 AWTKeyStroke 。 |
方法摘要 | |
---|---|
boolean |
equals(Object anObject) 如果此对象与指定对象相同,则返回 true。 |
static AWTKeyStroke |
getAWTKeyStroke(char keyChar) 返回表示指定字符的 KEY_TYPED 事件的 AWTKeyStroke 的一个共享实例。 |
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 的字符。 |
int |
getKeyCode() 返回此 AWTKeyStroke 的数字键代码。 |
int |
getKeyEventType() 返回 KeyEvent 的类型,它对应于此 AWTKeyStroke 。 |
int |
getModifiers() 返回此 AWTKeyStroke 的修饰符键。 |
int |
hashCode() 返回此对象的数值,它可能是唯一的,将它用作哈希表中的索引值是一个好选择。 |
boolean |
isOnKeyRelease() 返回此 AWTKeyStroke 是否表示一个键释放操作。 |
protected Object |
readResolve() 返回 AWTKeyStroke 的一个缓存实例(或 AWTKeyStroke 的子类),它与此实例相等。 |
protected static void |
registerSubclass(Class<?> subclass) 注册一个新类, AWTKeyStroke 中的工厂方法在生成 AWTKeyStroke 的新实例时将使用它。 |
String |
toString() 返回一个显示并标识此对象属性的字符串。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
protected AWTKeyStroke()
AWTKeyStroke
。使用的默认值如下:
属性 | 默认值 |
---|---|
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
- 如果此
AWTKeyStroke
对应一个键释放,则该参数为
true
;否则为
false
getAWTKeyStroke(char)
方法详细信息 |
---|
protected static void registerSubclass(Class<?> subclass)
AWTKeyStroke
中的工厂方法在生成
AWTKeyStroke
的新实例时将使用它。调用此方法后,工厂方法将返回指定类的实例。指定的类必须是
AWTKeyStroke
或者从
AWTKeyStroke
派生的类,并且它必须有一个无参数构造方法。此构造方法可以具有任意的可访问性,其中包括
private
。此操作刷新当前的
AWTKeyStroke
缓存。
subclass
- 工厂方法应该创建其实例的新类
IllegalArgumentException
- 如果 subclass 为
null
,或者 subclass 没有无参数构造方法
ClassCastException
- 如果 subclass 不是
AWTKeyStroke
或者从
AWTKeyStroke
派生的类
public static AWTKeyStroke getAWTKeyStroke(char keyChar)
KEY_TYPED
事件的
AWTKeyStroke
的一个共享实例。
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
keyCode
- 一个 int,指定键盘上某个键的数字代码
modifiers
- 任意修饰符的按位或组合
onKeyRelease
- 如果
AWTKeyStroke
应该表示一个键释放,则该参数为
true
;否则为
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
- 从中获取
AWTKeyStroke
的
KeyEvent
AWTKeyStroke
NullPointerException
- 如果
anEvent
为 null
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
,或者没有被正确地格式化
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
是否表示一个键释放操作。
AWTKeyStroke
表示一个键释放操作,则返回
true
;否则返回
false
getAWTKeyStroke(int,int,boolean)
public final int getKeyEventType()
KeyEvent
的类型,它对应于此
AWTKeyStroke
。
KeyEvent.KEY_PRESSED
、
KeyEvent.KEY_TYPED
或
KeyEvent.KEY_RELEASED
KeyEvent
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable
public final boolean equals(Object anObject)
anObject
- 将与此对象进行比较的对象
Object.hashCode()
,
Hashtable
public String toString()
String
作为参数传递给
getAWTKeyStroke(String)
,以生成一个与此键击等效的键击。
getAWTKeyStroke(String)
protected Object readResolve() throws ObjectStreamException
AWTKeyStroke
的一个缓存实例(或
AWTKeyStroke
的子类),它与此实例相等。
ObjectStreamException