模块  java.desktop
软件包  java.awt

Class AWTKeyStroke

  • 实现的所有接口
    Serializable
    已知直接子类:
    KeyStroke

    public class AWTKeyStroke
    extends Object
    implements Serializable
    AWTKeyStroke表示键盘或等效输入设备上的关键操作。 AWTKeyStroke s只能对应于特定键的按下或释放,就像KEY_PRESSEDKEY_RELEASED KeyEvent一样; 或者,它们可以对应于键入特定的Java字符,就像KEY_TYPED KeyEvent一样。 在所有情况下, AWTKeyStroke可以指定在操作期间必须存在的完全匹配的修饰符(alt,shift,control,meta,altGraph或其组合)。

    AWTKeyStrokes是不可变的,并且是唯一的。 客户端代码不应AWTKeyStroke创建AWTKeyStroke ,而应使用getAWTKeyStroke的变体。 客户端使用这些工厂方法允许AWTKeyStroke实现有效地缓存和共享实例。

    从以下版本开始:
    1.4
    另请参见:
    getAWTKeyStroke(char)Serialized Form
    • 构造方法详细信息

      • AWTKeyStroke

        protected AWTKeyStroke()
        使用默认值构造AWTKeyStroke 使用的默认值是: AWTKeyStroke default values Property Default Value Key Char KeyEvent.CHAR_UNDEFINED Key Code KeyEvent.VK_UNDEFINED Modifiers none On key release? false
        AWTKeyStroke s不应由客户端代码构造。 请改用getAWTKeyStroke替代。
        另请参见:
        getAWTKeyStroke(char)
      • AWTKeyStroke

        protected AWTKeyStroke​(char keyChar,
                               int keyCode,
                               int modifiers,
                               boolean onKeyRelease)
        使用指定的值构造一个AWTKeyStroke AWTKeyStroke s不应由客户端代码构造。 请改用getAWTKeyStroke
        参数
        keyChar - 键盘键的字符值
        keyCode - 此 AWTKeyStroke的密钥代码
        modifiers - 任何修饰符的按位组合
        onKeyRelease - true如果此AWTKeyStroke对应于密钥发布; 否则为false
        另请参见:
        getAWTKeyStroke(char)
    • 方法详细信息

      • registerSubclass

        @Deprecated
        protected static void registerSubclass​(<?> subclass)
        Deprecated.
        该方法没有效果,只留下来避免引入二进制不兼容性。
        参数
        subclass - 工厂方法应创建实例的新类
      • getAWTKeyStroke

        public static AWTKeyStroke getAWTKeyStroke​(char keyChar)
        返回 AWTKeyStroke的共享实例,该实例表示指定字符的 KEY_TYPED事件。
        参数
        keyChar - 键盘键的字符值
        结果
        该密钥的 AWTKeyStroke对象
      • getAWTKeyStroke

        public static AWTKeyStroke getAWTKeyStroke​(Character keyChar,
                                                   int modifiers)
        返回AWTKeyStroke的共享实例,该实例表示指定Character对象和一组修饰符的KEY_TYPED事件。 请注意,第一个参数是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
        也可以使用下面列出的旧修饰符,但它们映射到_DOWN_修饰符。
        • 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​(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获得密钥代码。 修饰符包括以下任意组合:
        • 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 - true如果AWTKeyStroke应代表密钥发布; 否则为false
        结果
        该键的AWTKeyStroke对象
        另请参见:
        KeyEventInputEvent
      • getAWTKeyStroke

        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
        修饰符包括以下任意组合:
        • 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对象
        另请参见:
        KeyEventInputEvent
      • getAWTKeyStrokeForEvent

        public static AWTKeyStroke getAWTKeyStrokeForEvent​(KeyEvent anEvent)
        返回AWTKeyStroke ,表示生成给定KeyEvent

        此方法从KeyTyped事件获取keyChar,从KeyPressedKeyReleased事件获取keyCode。 所有三种类型的KeyEvent均获得KeyEvent修饰符。

        参数
        anEvent - 从 KeyEvent获取 AWTKeyStroke
        结果
        AWTKeyStroke了这一事件
        异常
        NullPointerException - 如果 anEvent为空
      • getAWTKeyStroke

        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 - 如果 snull ,或格式不正确
      • getModifiers

        public final int getModifiers()
        返回此 AWTKeyStroke的修饰键。
        结果
        包含修饰符的int
        另请参见:
        getAWTKeyStroke(int,int)
      • isOnKeyRelease

        public final boolean isOnKeyRelease()
        返回此 AWTKeyStroke是否代表密钥版本。
        结果
        true如果此AWTKeyStroke代表密钥发布; 否则为false
        另请参见:
        getAWTKeyStroke(int,int,boolean)
      • getKeyEventType

        public final int getKeyEventType()
        返回 KeyEvent的类型,对应于此 AWTKeyStroke
        结果
        KeyEvent.KEY_PRESSEDKeyEvent.KEY_TYPED ,或 KeyEvent.KEY_RELEASED
        另请参见:
        KeyEvent
      • equals

        public final boolean equals​(Object anObject)
        如果此对象与指定对象相同,则返回true。
        重写:
        equalsObject
        参数
        anObject - 要与此对象进行比较的Object
        结果
        如果对象相同,则为true
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString()
        返回显示和标识此对象属性的字符串。 此方法返回的String可以作为参数传递给getAWTKeyStroke(String)以产生等于此键击的键击。
        重写:
        toString在类 Object
        结果
        此对象的String表示形式
        另请参见:
        getAWTKeyStroke(String)
      • readResolve

        protected Object readResolve()
                              throws ObjectStreamException
        返回 AWTKeyStroke (或子类 AWTKeyStroke )的高速缓存实例,该实例等于此实例。
        结果
        一个等于此实例的缓存实例
        异常
        ObjectStreamException - 如果发生序列化问题