返回介绍

java.awt 类 AWTKeyStroke

发布于 2019-10-04 09:49:46 字数 18254 浏览 1012 评论 0 收藏 0

java.lang.Object
  └java.awt.AWTKeyStroke
所有已实现的接口:
Serializable

public class AWTKeyStroke
extends Object
 
implements Serializable
 

AWTKeyStroke 表示键盘(或等效输入设备)上的键操作。正如 KEY_PRESSEDKEY_RELEASED KeyEvent 一样, AWTKeyStroke 仅对应于一个特定键的按下或释放;另一方面,它们与 KEY_TYPED KeyEvent 事件一样,对应于键入一个特定 Java 字符的操作。在所有情况下, AWTKeyStroke 都可以指定在完全匹配操作期间必须出现的修饰符(alt、shift、control、meta 或一个组合 thereof)。

AWTKeyStrokes 是不可变的,并且应该是惟一的。客户机代码绝对不能自己创建 AWTKeyStroke ,而应该使用 getAWTKeyStroke 的一个变体代替。使用这些工厂方法的客户机允许 AWTKeyStroke 实现有效地缓存和共享实例。

从以下版本开始:
1.4
另请参见:
getAWTKeyStroke(char) , 序列化表格

构造方法摘要
protectedAWTKeyStroke()

使用默认值构造 AWTKeyStroke

protectedAWTKeyStroke(charkeyChar, intkeyCode, intmodifiers, booleanonKeyRelease)

使用指定值构造 AWTKeyStroke

方法摘要
booleanequals(ObjectanObject)

如果此对象与指定对象相同,则返回 true。

staticAWTKeyStrokegetAWTKeyStroke(charkeyChar)

返回表示指定字符的 KEY_TYPED 事件的 AWTKeyStroke 的一个共享实例。

staticAWTKeyStrokegetAWTKeyStroke(CharacterkeyChar, intmodifiers)

在给出一个 Character 对象和一组修饰符的情况下,返回 AWTKeyStroke 的一个共享实例。

staticAWTKeyStrokegetAWTKeyStroke(intkeyCode, intmodifiers)

在给出一个数字键代码和一组修饰符的情况下,返回 AWTKeyStroke 的一个共享实例。

staticAWTKeyStrokegetAWTKeyStroke(intkeyCode, intmodifiers, booleanonKeyRelease)

在给出一个数字键代码和一组修饰符的情况下,返回 AWTKeyStroke 的一个共享实例,指定该键在按下或释放时是否是被激活。

staticAWTKeyStrokegetAWTKeyStroke(Strings)

分析字符串并返回一个 AWTKeyStroke

staticAWTKeyStrokegetAWTKeyStrokeForEvent(KeyEventanEvent)

返回一个 AWTKeyStroke ,它表示生成给定 KeyEvent 的键击事件。

chargetKeyChar()

返回此 AWTKeyStroke 的字符。

intgetKeyCode()

返回此 AWTKeyStroke 的数字键代码。

intgetKeyEventType()

返回 KeyEvent 的类型,它对应于此 AWTKeyStroke

intgetModifiers()

返回此 AWTKeyStroke 的修饰符键。

inthashCode()

返回此对象的数值,它可能是惟一的,将它用作哈希表中的索引值是一个好选择。

booleanisOnKeyRelease()

返回此 AWTKeyStroke 是否表示一个键释放操作。

protected ObjectreadResolve()

返回 AWTKeyStroke 的一个缓存实例(或 AWTKeyStroke 的子类),它与此实例相等。

protected staticvoidregisterSubclass(Class<?>subclass)

注册一个新类, AWTKeyStroke 中的工厂方法在生成 AWTKeyStroke 的新实例时将使用它。

StringtoString()

返回一个显示并标识此对象属性的字符串。

从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

构造方法详细信息

AWTKeyStroke

protected AWTKeyStroke()
使用默认值构造 AWTKeyStroke 。使用的默认值如下:
属性默认值
Key CharKeyEvent.CHAR_UNDEFINED
Key CodeKeyEvent.VK_UNDEFINED
Modifiersnone
On key release?false

不应该通过客户机代码构造 AWTKeyStroke 。应该使用 getAWTKeyStroke 的一个变体代替。

另请参见:
getAWTKeyStroke(char)

AWTKeyStroke

protected AWTKeyStroke(charkeyChar,
                       intkeyCode,
                       intmodifiers,
                       booleanonKeyRelease)
使用指定值构造 AWTKeyStroke 。不应该通过客户机代码构造 AWTKeyStroke 。应该使用 getAWTKeyStroke 的一个变体代替。
参数:
keyChar - 键盘上某个键的字符值
keyCode - 此 AWTKeyStroke 的键代码
modifiers - 任意修饰符的按位或组合
onKeyRelease - 如果此 AWTKeyStroke 对应一个键释放,则该参数为 true ;否则为 false
另请参见:
getAWTKeyStroke(char)

方法详细信息

registerSubclass

protected static void registerSubclass(Class<?>subclass)
注册一个新类, AWTKeyStroke 中的工厂方法在生成 AWTKeyStroke 的新实例时将使用它。调用此方法后,工厂方法将返回指定类的实例。指定的类必须是 AWTKeyStroke 或者从 AWTKeyStroke 派生的类,并且它必须有一个无参数构造方法。此构造方法可以具有任意的可访问性,其中包括 private 。此操作刷新当前的 AWTKeyStroke 缓存。
参数:
subclass - 工厂方法应该创建其实例的新类
抛出:
IllegalArgumentException - 如果 subclass 为 null ,或者如果 subclass 没有无参数构造方法
ClassCastException - 如果 subclass 不是 AWTKeyStroke 或者从 AWTKeyStroke 派生的类

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(charkeyChar)
返回表示指定字符的 KEY_TYPED 事件的 AWTKeyStroke 的一个共享实例。
参数:
keyChar - 键盘上某个键的字符值
返回:
该键的 AWTKeyStroke 对象

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(CharacterkeyChar,
                                           intmodifiers)
在给出一个 Character 对象和一组修饰符的情况下,返回 AWTKeyStroke 的一个共享实例。注意,第一个参数是 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

也可以使用,但它们被映射到 _DOWN_ 修饰符。因为这些数字都是 2 的不同次幂,所以它们的任意组合是一个整数,该整数的每个位都表示一个不同的修饰符键。可以使用 0 指定无修饰符。

参数:
keyChar - 键盘字符的 Character 对象
modifiers - 任意修饰符的按位或组合
返回:
该键的 AWTKeyStroke 对象
抛出:
IllegalArgumentException - 如果 keyCharnull
另请参见:
InputEvent

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(intkeyCode,
                                           intmodifiers,
                                           booleanonKeyRelease)
在给出一个数字键代码和一组修饰符的情况下,返回 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

也可以使用,但它们被映射到 _DOWN_ 修饰符。因为这些数字都是 2 的不同次幂,所以它们的任意组合是一个整数,该整数的每个位都表示一个不同的修饰符键。可以使用 0 指定无修饰符。

参数:
keyCode - 一个 int,指定键盘上某个键的数字代码
modifiers - 任意修饰符的按位或组合
onKeyRelease - 如果 AWTKeyStroke 应该表示一个键释放,则该参数为 true ;否则为 false
返回:
该键的 AWTKeyStroke 对象
另请参见:
KeyEvent , InputEvent

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(intkeyCode,
                                           intmodifiers)
在给出一个数字键代码和一组修饰符的情况下,返回 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

也可以使用,但它们被映射到 _DOWN_ 修饰符。

因为这些数字都是 2 的不同次幂,所以它们的任意组合是一个整数,该整数的每个位都表示一个不同的修饰符键。可以使用 0 指定无修饰符。

参数:
keyCode - 一个 int,指定键盘上某个键的数字代码
modifiers - 任意修饰符的按位或组合
返回:
该键的 AWTKeyStroke 对象
另请参见:
KeyEvent , InputEvent

getAWTKeyStrokeForEvent

public static AWTKeyStroke getAWTKeyStrokeForEvent(KeyEventanEvent)
返回一个 AWTKeyStroke ,它表示生成给定 KeyEvent 的键击事件。

此方法获得来自 KeyTyped 事件的 keyChar,以及来自 KeyPressedKeyReleased 事件的 keyCode。为所有三种类型的 KeyEvent 获取 KeyEvent 修饰符。

参数:
anEvent - 从中获取 AWTKeyStrokeKeyEvent
返回:
促使该事件发生的 AWTKeyStroke
抛出:
NullPointerException - 如果 anEvent 为 null

getAWTKeyStroke

public static AWTKeyStroke getAWTKeyStroke(Strings)
分析字符串并返回一个 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 - 如果 snull ,或者没有被正确地格式化

getKeyChar

public final char getKeyChar()
返回此 AWTKeyStroke 的字符。
返回:
一个 char 值
另请参见:
getAWTKeyStroke(char)

getKeyCode

public final int getKeyCode()
返回此 AWTKeyStroke 的数字键代码。
返回:
一个 int,它包含键代码值
另请参见:
getAWTKeyStroke(int,int)

getModifiers

public final int getModifiers()
返回此 AWTKeyStroke 的修饰符键。
返回:
一个 int,它包含修饰符
另请参见:
getAWTKeyStroke(int,int)

isOnKeyRelease

public final boolean isOnKeyRelease()
返回此 AWTKeyStroke 是否表示一个键释放操作。
返回:
如果此 AWTKeyStroke 表示一个键释放操作,则返回 true ;否则返回 false
另请参见:
getAWTKeyStroke(int,int,boolean)

getKeyEventType

public final int getKeyEventType()
返回 KeyEvent 的类型,它对应于此 AWTKeyStroke
返回:
KeyEvent.KEY_PRESSEDKeyEvent.KEY_TYPEDKeyEvent.KEY_RELEASED
另请参见:
KeyEvent

hashCode

public int hashCode()
返回此对象的数值,它可能是惟一的,将它用作哈希表中的索引值是一个好选择。
覆盖:
Object 中的 hashCode
返回:
表示此对象的一个 int
另请参见:
Object.equals(java.lang.Object) , Hashtable

equals

public final boolean equals(ObjectanObject)
如果此对象与指定对象相同,则返回 true。
覆盖:
Object 中的 equals
参数:
anObject - 将与此对象进行比较的对象
返回:
如果两个对象相同,则返回 true
另请参见:
Object.hashCode() , Hashtable

toString

public String toString()
返回一个显示并标识此对象属性的字符串。可以将此方法返回的 String 作为参数传递给 getAWTKeyStroke(String) ,以生成一个与此键击等效的键击。
覆盖:
Object 中的 toString
返回:
此对象的字符串表示形式
另请参见:
getAWTKeyStroke(String)

readResolve

protected Object readResolve()
                      throws ObjectStreamException
返回 AWTKeyStroke 的一个缓存实例(或 AWTKeyStroke 的子类),它与此实例相等。
返回:
一个与此实例相等的缓存实例
抛出:
ObjectStreamException

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文