java.lang.Objectjava.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