JavaTM 2 Platform
Std. Ed. v1.3

javax.swing
クラス KeyStroke

java.lang.Object
  |
  +--javax.swing.KeyStroke
すべての実装インタフェース:
Serializable

public class KeyStroke
extends Object
implements Serializable

KeyStroke のインスタンスは、キーボードで打たれるキーを表します。このインスタンスは、キーおよび修飾子 (alt、shift、ctrl、meta、またはそれらの組み合わせ) の両方の char コードを保持格納します。

KeyStroke オブジェクトは、ハイレベル (セマンティック) のアクションイベントを定義するために使用されます。すべてのキーストロークをトラップし、関係のないものを破棄する代わりに、注目すべきキーストロークはそれらが登録されているコンポーネントで自動的にアクションを起こします。

KeyStroke オブジェクトは、KeyTyped イベントハンドラでトラップする文字コード生成キーストローク、および KeyPressed イベントハンドラでトラップするキーコード生成キーストローク (Enter キーまたは F1 キーなど) の両方を処理します。

KeyStroke オブジェクトは不変であり、一意です。

すべての KeyStroke オブジェクトはキャッシュされます。KeyStroke オブジェクトを取得するには、getKeyStroke を使用します。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
Keymap, getKeyStroke(char), 直列化された形式

メソッドの概要
 boolean equals(Object anObject)
          このオブジェクトが指定されたオブジェクトと同じ場合に true を返します。
 char getKeyChar()
          この KeyStroke オブジェクトによって定義されている文字を返します。
 int getKeyCode()
          この KeyStroke オブジェクトによって定義されている数値キーコードを返します。
static KeyStroke getKeyStroke(char keyChar)
          キーが押されたときにアクティブになるキーストロークの共有インスタンス、つまり KEY_TYPED イベントの KeyStroke を返します。
static KeyStroke getKeyStroke(Character keyChar, int modifiers)
          文字オブジェクトと修飾子のセットが指定されると、キーストロークの共有インスタンスを返します。
static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease)
          推奨されていません。 getKeyStroke(char) を使用してください。
static KeyStroke getKeyStroke(int keyCode, int modifiers)
          指定された char コードおよび修飾子のセットでキーストロークの共有インスタンスを返します。
static KeyStroke getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
          押されたとき、または解放されたときにキーがアクティブになるかどうかを指定して、指定された数値キーコードおよび修飾子のセットでキーストロークの共有インスタンスを返します。
static KeyStroke getKeyStroke(String s)
          文字列の構文を解析し、KeyStroke を返します。
static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
          イベントからキーストロークを返します。
 int getModifiers()
          この KeyStroke オブジェクトによって定義されている修飾キーを返します。
 int hashCode()
          適宜に一意であると考えられるこのオブジェクトの数値を返します。
 boolean isOnKeyRelease()
          キーを離したときにこのキーストロークがアクティブになる場合に true を返します。
 String toString()
          このオブジェクトのプロパティを表示および識別する文字列を返します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

getKeyStroke

public static KeyStroke getKeyStroke(char keyChar)
キーが押されたときにアクティブになるキーストロークの共有インスタンス、つまり KEY_TYPED イベントの KeyStroke を返します。
パラメータ:
keyChar - キーボードのキーの文字値
戻り値:
そのキーの KeyStroke オブジェクト

getKeyStroke

public static KeyStroke getKeyStroke(char keyChar,
                                     boolean onKeyRelease)
推奨されていません。 getKeyStroke(char) を使用してください。

押されたとき、または解放されたときにキーがアクティブになると見なされるかどうかを指定して、キーストロークの共有インスタンスを返します。
パラメータ:
keyChar - キーボードのキーの文字値
onKeyRelease - boolean 値。true の場合、解放されたときにキーがアクティブであることを指定する
戻り値:
そのキーの KeyStroke オブジェクト

getKeyStroke

public static KeyStroke getKeyStroke(Character keyChar,
                                     int modifiers)
文字オブジェクトと修飾子のセットが指定されると、キーストロークの共有インスタンスを返します。最初のパラメータは char 型ではなく Character 型のパラメータです。これは、このメソッドの導入より前に存在するコードとのクラッシュを避けるためです。引用符文字を持つ getKeyStroke(int keyCode, int modifiers) をそのコードが呼び出して、それらの文字の int 型への自動変換を利用している可能性があります。 修飾子は、次の組み合わせで構成されます。 これらの数字はすべて異なる 2 の累乗であるため、それらの組み合わせは各ビットが別々の修飾キーを表す整数です。
パラメータ:
keyChar - キーボード文字の文字オブジェクト
modifiers - キー修飾子の組み合わせを指定する int 値
戻り値:
そのキーの KeyStroke オブジェクト
導入されたバージョン:
1.3

getKeyStroke

public static KeyStroke getKeyStroke(int keyCode,
                                     int modifiers,
                                     boolean onKeyRelease)
押されたとき、または解放されたときにキーがアクティブになるかどうかを指定して、指定された数値キーコードおよび修飾子のセットでキーストロークの共有インスタンスを返します。

java.awt.event.KeyEvent で定義される「仮想キー」定数は、キーコードを指定するために使用できます。次に例を示します。

修飾子は、次の組み合わせで構成されます。 これらの数字はすべて異なる 2 の累乗であるため、それらの組み合わせは各ビットが別々の修飾キーを表す整数です。
パラメータ:
keyCode - キーボードのキーの数値コードを指定する int 値
modifiers - キー修飾子の組み合わせを指定する int 値
onKeyRelease - boolean 値。true の場合、解放されたときにキーがアクティブであることを指定する
戻り値:
そのキーの KeyStroke オブジェクト
関連項目:
KeyEvent, Event

getKeyStroke

public static KeyStroke getKeyStroke(int keyCode,
                                     int modifiers)
指定された char コードおよび修飾子のセットでキーストロークの共有インスタンスを返します。キーは、押されたときにアクティブになります。

java.awt.event.KeyEvent で定義される「仮想キー」定数は、キーコードを指定するために使用できます。次に例を示します。

修飾子は、次の組み合わせで構成されます。 これらの数字はすべて異なる 2 の累乗であるため、それらの組み合わせは各ビットが別々の修飾キーを表す整数です。
パラメータ:
keyCode - キーボードのキーの数値コードを指定する int 値
modifiers - キー修飾子の組み合わせを指定する int 値
戻り値:
そのキーの KeyStroke オブジェクト
関連項目:
KeyEvent

getKeyStrokeForEvent

public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
イベントからキーストロークを返します。

このメソッドは KeyTyped イベントから keyChar、KeyPressed または KeyReleased イベントから keyCode を取得するので、イベントの型は重要ではありません。

パラメータ:
anEvent - KeyStroke の取得元 KeyEvent
戻り値:
イベントを発生させた KeyStroke

getKeyStroke

public static KeyStroke getKeyStroke(String s)
文字列の構文を解析し、KeyStroke を返します。文字列は以下の構文を持っています。
    <modifiers>* (<typedID> | <pressedReleasedID>)
    modifiers := shift | control | meta | alt | button1 | button2 | button3
    typedID := typed <typedKey>
    typedKey := string of length 1 giving unicode character.
    pressedReleasedID := (pressed | released)? key
 key := KeyEvent keycode name, i.e. the name following "VK_".
タイプするのか、押すのか、離すのかが指定されない場合、押すとみなされます。いくつか例を挙げます。
     "INSERT" => new KeyStroke(0, KeyEvent.VK_INSERT);
     "control DELETE" => new KeyStroke(InputEvent.CTRL_MASK, KeyEvent.VK_DELETE);
     "alt shift X" => new KeyStroke(InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, KeyEvent.VK_X);
     "alt shift released X" => new KeyStroke(InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, KeyEvent.VK_X, true);
     "typed a" => new KeyStroke('a');
下位互換については、s が上記の形式でない場合は null が返されます。

getKeyChar

public char getKeyChar()
この KeyStroke オブジェクトによって定義されている文字を返します。
戻り値:
char 値
関連項目:
getKeyStroke(char)

getKeyCode

public int getKeyCode()
この KeyStroke オブジェクトによって定義されている数値キーコードを返します。
戻り値:
キーコード値が格納されている int 値
関連項目:
getKeyStroke(int,int)

getModifiers

public int getModifiers()
この KeyStroke オブジェクトによって定義されている修飾キーを返します。
戻り値:
修飾子が格納されている int 値
関連項目:
getKeyStroke(int,int)

isOnKeyRelease

public boolean isOnKeyRelease()
キーを離したときにこのキーストロークがアクティブになる場合に true を返します。
戻り値:
キーを離したときにアクティブになる場合は true、キーを押したときにアクティブになる場合は false
関連項目:
getKeyStroke(int,int,boolean)

hashCode

public int hashCode()
適宜に一意であると考えられるこのオブジェクトの数値を返します。この値は、Hashtable でインデックス値として使用できます。
オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトを「表す」int 値
関連項目:
Hashtable

equals

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

toString

public String toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。
オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの String 表現

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.