モジュール java.desktop
パッケージ java.awt

クラスAWTKeyStroke

  • すべての実装されたインタフェース:
    Serializable
    直系の既知のサブクラス:
    KeyStroke

    public class AWTKeyStroke
    extends Object
    implements Serializable
    キーボードまたは同等の入力デバイス上のキー・アクションを表すAWTKeyStroke AWTKeyStrokeは、KEY_PRESSEDKEY_RELEASED KeyEventのように、特定のキーを押したり離したりする動作にのみ対応し、KEY_TYPED KeyEventのように、特定のJava文字の入力を対応させることもできます。 どのような場合でも、AWTKeyStrokeでは、アクションを正確に一致させるために必要な修飾子(Alt、Shift、Control、Meta、AltGraphの各キー、またはこれらのキーの組み合わせ)を指定できます。

    AWTKeyStrokesは不変であり、重複しないことを想定しています。 このため、クライアント・コードで独自のAWTKeyStrokeを定義しないで、getAWTKeyStrokeのバリアントを使います。 このようなファクトリ・メソッドをクライアントで使用すると、AWTKeyStrokeの実装で、インスタンスの効率的なキャッシュと共有が可能です。

    導入されたバージョン:
    1.4
    関連項目:
    getAWTKeyStroke(char), 直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected AWTKeyStroke()
      デフォルト値を使用してAWTKeyStrokeを構築します。
      protected AWTKeyStroke​(char keyChar, int keyCode, int modifiers, boolean onKeyRelease)
      指定された値を持つAWTKeyStrokeを構築します。
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 
      修飾子と型 メソッド 説明
      boolean equals​(Object anObject)
      このオブジェクトが指定されたオブジェクトと同じ場合にtrueを返します。
      static AWTKeyStroke getAWTKeyStroke​(char keyChar)
      指定された文字のKEY_TYPEDイベントを表すAWTKeyStrokeの共有インスタンスを返します。
      static AWTKeyStroke getAWTKeyStroke​(int keyCode, int modifiers)
      数値キー・コードと修飾子のセットを使用して、AWTKeyStrokeの共有インスタンスを返します。
      static AWTKeyStroke getAWTKeyStroke​(int keyCode, int modifiers, boolean onKeyRelease)
      キーが押されたときと解放されたときのどちらでアクティブになるかを指定して、数値キー・コードと修飾子のセットを使用して、AWTKeyStrokeの共有インスタンスを返します。
      static AWTKeyStroke getAWTKeyStroke​(Character keyChar, int modifiers)
      指定されたCharacterオブジェクトと修飾子のセットのKEY_TYPEDイベントを表すAWTKeyStrokeの共有インスタンスを返します。
      static AWTKeyStroke getAWTKeyStroke​(String s)
      文字列を解析し、AWTKeyStrokeを返します。
      static AWTKeyStroke getAWTKeyStrokeForEvent​(KeyEvent anEvent)
      特定のKeyEventを生成したストロークを表すAWTKeyStrokeを返します。
      char getKeyChar()
      このAWTKeyStrokeの文字を返します。
      int getKeyCode()
      このAWTKeyStrokeの数値キー・コードを返します。
      int getKeyEventType()
      このAWTKeyStrokeに対応するKeyEventのタイプを返します。
      int getModifiers()
      このAWTKeyStrokeの修飾キーを返します。
      int hashCode()
      一意であると考えられるこのオブジェクトの数値を返します。この値は、ハッシュ表でインデックス値として使用できます。
      boolean isOnKeyRelease()
      このAWTKeyStrokeがキー解放を表すかどうかを返します。
      protected Object readResolve()
      このインスタンスに等しい、AWTKeyStrokeのキャッシュされたインスタンス(またはAWTKeyStrokeのサブクラス)を返します。
      protected static void registerSubclass​(Class<?> subclass)
      非推奨。 
      String toString()
      このオブジェクトのプロパティを表示および識別する文字列を返します。
    • コンストラクタの詳細

      • AWTKeyStroke

        protected AWTKeyStroke()
        デフォルト値を使用してAWTKeyStrokeを構築します。 次のデフォルト値を使用します。
        AWTKeyStrokeのデフォルト値
        プロパティ デフォルト値
        キー文字 KeyEvent.CHAR_UNDEFINED
        キー・コード KeyEvent.VK_UNDEFINED
        修飾子 なし
        キーを離すとき false
        AWTKeyStrokeはクライアント・コードで構築するべきではありません。 代わりに、getAWTKeyStrokeのバリアントを使用します。
        関連項目:
        getAWTKeyStroke(char)
      • AWTKeyStroke

        protected AWTKeyStroke​(char keyChar,
                               int keyCode,
                               int modifiers,
                               boolean onKeyRelease)
        指定された値でAWTKeyStrokeを構築します。 AWTKeyStrokeはクライアント・コードで構築するべきではありません。 代わりに、getAWTKeyStrokeのバリアントを使用します。
        パラメータ:
        keyChar - キーボード・キーの文字値
        keyCode - このAWTKeyStrokeのキー・コード
        modifiers - 任意の修飾子のビット単位の論理和の組み合わせ
        onKeyRelease - このAWTKeyStrokeがキーを離す動作に対応する場合はtrue、そうでない場合はfalse
        関連項目:
        getAWTKeyStroke(char)
    • メソッドの詳細

      • registerSubclass

        @Deprecated
        protected static void registerSubclass​(Class<?> subclass)
        非推奨。
        このメソッドは効果がなく、バイナリの非互換性を避けるために残されています。
        パラメータ:
        subclass - ファクトリ・メソッドがインスタンスを生成する新しいクラス
      • getAWTKeyStroke

        public static AWTKeyStroke getAWTKeyStroke​(char keyChar)
        指定された文字のKEY_TYPEDイベントを表すAWTKeyStrokeの共有インスタンスを返します。
        パラメータ:
        keyChar - キーボード・キーの文字値
        戻り値:
        そのキーのAWTKeyStrokeオブジェクト
      • getAWTKeyStroke

        public static AWTKeyStroke getAWTKeyStroke​(Character keyChar,
                                                   int modifiers)
        指定されたCharacterオブジェクトと修飾子のセットのKEY_TYPEDイベントを表すAWTKeyStrokeの共有インスタンスを返します。 最初のパラメータはchar型ではなくCharacter型のパラメータです。 これは、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 - このAWTKeyStrokeがキーを離す動作を表現する場合はtrue、そうでない場合はfalse
        戻り値:
        上記キーのAWTKeyStrokeオブジェクト
        関連項目:
        KeyEvent, InputEvent
      • 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オブジェクト
        関連項目:
        KeyEvent, InputEvent
      • getAWTKeyStrokeForEvent

        public static AWTKeyStroke getAWTKeyStrokeForEvent​(KeyEvent anEvent)
        特定のKeyEventを生成したストロークを表すAWTKeyStrokeを返します。

        このメソッドは、KeyTypedイベントからkeyCharを取得し、KeyPressedまたはKeyReleasedイベントからkeyCodeを取得します。 また、3つのKeyEvent型のすべてからKeyEvent修飾子を取得します。

        パラメータ:
        anEvent - AWTKeyStrokeを取得するKeyEvent
        戻り値:
        イベントを発生させたAWTKeyStroke
        例外:
        NullPointerException - anEventがnullである場合
      • 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 - 上記の構文に従って指定したString
        戻り値:
        上記文字列のAWTKeyStrokeオブジェクト
        例外:
        IllegalArgumentException - snullであるか、フォーマットが正しくない場合
      • getKeyCode

        public final int getKeyCode()
        このAWTKeyStrokeの数値キー・コードを返します。
        戻り値:
        キー・コード値が格納されているint値
        関連項目:
        getAWTKeyStroke(int,int), KeyEvent.getKeyCode()
      • 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()
        このAWTKeyStrokeに対応するKeyEventのタイプを返します。
        戻り値:
        KeyEvent.KEY_PRESSEDKeyEvent.KEY_TYPED、またはKeyEvent.KEY_RELEASED
        関連項目:
        KeyEvent
      • equals

        public final boolean equals​(Object anObject)
        このオブジェクトが指定されたオブジェクトと同じ場合にtrueを返します。
        オーバーライド:
        equals、クラスObject
        パラメータ:
        anObject - このオブジェクトと比較するオブジェクト
        戻り値:
        オブジェクトが同じ場合はtrue
        関連項目:
        Object.hashCode()HashMap
      • toString

        public String toString()
        このオブジェクトのプロパティを表示および識別する文字列を返します。 このメソッドから返されたStringをパラメータとしてgetAWTKeyStroke(String)に渡して、このキー・ストロークに等しいキー・ストロークを生成します。
        オーバーライド:
        toString、クラスObject
        戻り値:
        このオブジェクトの文字列表現
        関連項目:
        getAWTKeyStroke(String)
      • readResolve

        protected Object readResolve()
                              throws ObjectStreamException
        このインスタンスに等しい、AWTKeyStrokeのキャッシュされたインスタンス(またはAWTKeyStrokeのサブクラス)を返します。
        戻り値:
        このインスタンスと同じ、キャッシュされたインスタンス
        例外:
        ObjectStreamException - 直列化の問題が発生した場合