JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
クラス KeyStroke

java.lang.Object
  上位を拡張 java.awt.AWTKeyStroke
      上位を拡張 javax.swing.KeyStroke
すべての実装されたインタフェース:
Serializable

public class KeyStroke
extends AWTKeyStroke

KeyStroke は、キーボードまたは同等の入力デバイスのキーアクションを表します。KeyStroke は、KeyEvent の KEY_PRESSED および KEY_RELEASED と同様に、特定のキーを押す、または離すイベントのみに対応させることも、KeyEvent の KEY_TYPED と同様に特定の Java 文字のキーボード入力に対応させることもできます。どちらの場合も、修飾子 (alt、shift、control、meta、またはそれらの組み合わせ) を指定できます。これらの修飾子は、完全一致のアクションを行う間に存在する必要があります。

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

KeyStroke は不変であり、一意になるように設計されています。クライアントコードで KeyStroke を作成することはできません。代わりに、バリアントの getKeyStroke を使います。これらのファクトリメソッドによって、インスタンスのキャッシュと共有を効率的に行うように KeyStroke を実装できます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。

関連項目:
Keymap, getKeyStroke(char)

メソッドの概要
static KeyStroke getKeyStroke(char keyChar)
          指定された文字の KEY_TYPED イベントを表す KeyStroke の共有インスタンスを返します。
static KeyStroke getKeyStroke(Character keyChar, int modifiers)
          Character オブジェクトと修飾子のセットが指定されると、キーストロークの共有インスタンスを返します。
static KeyStroke getKeyStroke(char keyChar, boolean onKeyRelease)
          推奨されていません。 getKeyStroke(char) を使用
static KeyStroke getKeyStroke(int keyCode, int modifiers)
          数値キーコードおよび修飾子のセットが指定されると、KeyStroke の共有インスタンスを返します。
static KeyStroke getKeyStroke(int keyCode, int modifiers, boolean onKeyRelease)
          数値キーコードおよび修飾子のセットが指定されると、KeyStroke の共有インスタンスを返します。
static KeyStroke getKeyStroke(String s)
          文字列の構文を解析し、KeyStroke を返します。
static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
          指定された KeyEvent を生成したストロークを表す KeyStroke を返します。
 
クラス java.awt.AWTKeyStroke から継承されたメソッド
equals, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStroke, getAWTKeyStrokeForEvent, getKeyChar, getKeyCode, getKeyEventType, getModifiers, hashCode, isOnKeyRelease, readResolve, registerSubclass, 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

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

KeyStroke のインスタンスを返します。このインスタンスは、キーを押したとき、あるいは離したときにキーがアクティブになるかどうかを示します。このクラスに含まれるほかのファクトリメソッドと異なり、このメソッドが返すインスタンスは、必ずしもキャッシュへの書き込みや共有が行われるわけではありません。

パラメータ:
keyChar - キーボードのキーの文字値
onKeyRelease - この KeyStroke がキーを離す動作に対応する場合は true、そうでない場合は false
戻り値:
そのキーの KeyStroke オブジェクト

getKeyStroke

public static KeyStroke getKeyStroke(Character keyChar,
                                     int modifiers)
Character オブジェクトと修飾子のセットが指定されると、キーストロークの共有インスタンスを返します。最初のパラメータは char 型ではなく Character 型のパラメータです。これは、不注意による getKeyStroke(int keyCode, int modifiers) 呼び出しとの重複を避けるためです。 修飾子は、次の組み合わせで構成されます。 これらの数字はすべて異なる 2 の累乗であるため、それらの組み合わせは各ビットが別々の修飾キーを表す整数です。修飾子を指定しない場合は、0 を使います。

パラメータ:
keyChar - キーボード文字の Character オブジェクト
modifiers - 修飾子のビット単位の論理和
戻り値:
そのキーの KeyStroke オブジェクト
例外:
IllegalArgumentException - keyChar が null の場合
導入されたバージョン:
1.3
関連項目:
InputEvent

getKeyStroke

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

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

修飾子は、次の組み合わせで構成されます。 これらの数字はすべて異なる 2 の累乗であるため、それらの組み合わせは各ビットが別々の修飾キーを表す整数です。修飾子を指定しない場合は、0 を使います。

パラメータ:
keyCode - キーボードのキーの数値コードを指定する int 値
modifiers - 修飾子のビット単位の論理和
onKeyRelease - KeyStroke がキーを離す動作を表す場合は true、そうでない場合は false
戻り値:
そのキーの KeyStroke オブジェクト
関連項目:
KeyEvent, InputEvent

getKeyStroke

public static KeyStroke getKeyStroke(int keyCode,
                                     int modifiers)
数値キーコードおよび修飾子のセットが指定されると、KeyStroke の共有インスタンスを返します。返される KeyStroke は、キーを押す動作に対応します。

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

修飾子は、次の組み合わせで構成されます。 これらの数字はすべて異なる 2 の累乗であるため、それらの組み合わせは各ビットが別々の修飾キーを表す整数です。修飾子を指定しない場合は、0 を使います。

パラメータ:
keyCode - キーボードのキーの数値コードを指定する int 値
modifiers - 修飾子のビット単位の論理和
戻り値:
そのキーの KeyStroke オブジェクト
関連項目:
KeyEvent, InputEvent

getKeyStrokeForEvent

public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent)
指定された KeyEvent を生成したストロークを表す KeyStroke を返します。

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

パラメータ:
anEvent - KeyStroke の取得元 KeyEvent
戻り値:
イベントを発生させた KeyStroke
例外:
NullPointerException - anEvent が null の場合

getKeyStroke

public static KeyStroke getKeyStroke(String s)
文字列の構文を解析し、KeyStroke を返します。文字列は次の構文を持つ必要があります。

    <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" => getKeyStroke(KeyEvent.VK_INSERT, 0);
     "control DELETE" => getKeyStroke(KeyEvent.VK_DELETE, InputEvent.CTRL_MASK);
     "alt shift X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK);
     "alt shift released X" => getKeyStroke(KeyEvent.VK_X, InputEvent.ALT_MASK | InputEvent.SHIFT_MASK, true);
     "typed a" => getKeyStroke('a');
 
下位互換性を維持するため、String が null または構文誤りの場合、null が戻ります。

パラメータ:
s - 上記の構文に従って指定した String
戻り値:
指定した String の KeyStroke オブジェクト。指定した String が null または構文誤りの場合は null

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。