モジュール javafx.graphics
パッケージ javafx.scene.input

クラスKeyEvent

  • すべての実装されたインタフェース:
    Serializable, Cloneable


    public final class KeyEvent
    extends InputEvent
    Node内でキー・ストロークが発生したことを示すイベント。

    このイベントは、キーが押されるか、放されるか、またはタイプされると生成されます。 イベントのタイプに応じて、イベントはonKeyPressedonKeyTypedまたはonKeyReleased関数に渡されます。

    「キー・タイプ」イベントは、ほかの2つのイベントと比べてレベルの高いイベントであり、プラットフォームやキーボードの配置には依存しません。 これらはUnicode文字が入力されたときに生成され、文字入力の検出で推奨される方法です。 もっとも単純な例としては、「a」などの一度のキー・プレスでキー・タイプ・イベントが発生します。 ただし、一連のキー・プレス([Shift] + [A]など)で文字を作ることがよくあります。また、キー・プレス・イベントからキー・タイプ・イベントへのマッピングは、多対1または多対多になる場合があります。 キー・リリースは通常キー・タイプ・イベントを生成する必要はありませんが、キーがリリースされるまでキー・タイプ・イベントが生成されないケースがあります(WindowsでASCIIシーケンスをAlt-テンキー方式で入力するなど)。 アクション・キー、修飾キーなどUnicode文字を生成しないキーでは、キー・タイプ・イベントは発生しません。

    character変数には常に、有効なUnicode文字またはCHAR_UNDEFINEDが含まれています。 文字入力はキー・タイプ・イベントによって報告されます。キー・プレス・イベントおよびキー・リリース・イベントは必ずしも文字入力に関連付けられていません。 このため、character変数はキー・タイプ・イベントに対してのみ意味のあるものになります。

    キー・プレス・イベントおよびキー・リリース・イベントの場合、code変数にはイベントのキー・コードが含まれています。 キー・タイプ・イベントの場合、code変数には常にKeyCode.UNDEFINEDが含まれています。

    「キー・プレス」および「キー・リリース」イベントは、「キー・タイプ」イベントより低レベルのイベントであり、プラットフォームおよびキーボードの配置によって異なります。 これらのイベントは、キーを押したとき、または離したときに発生します。文字入力が発生しないキー(アクション・キー、修飾キーなど)についての状態を知るには、これらのイベントに依存するしか方法はありません。 押下または解放されるキーは、仮想キー・コードが含まれているcode変数で示されます。

    コンテキスト・メニューのトリガーについては、ContextMenuEventを参照してください。

    導入されたバージョン:
    JavaFX 2.0
    関連項目:
    直列化された形式
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static EventType<KeyEvent> ANY
      すべてのキー・イベント・タイプに共通のスーパータイプ。
      static String CHAR_UNDEFINED
      有効なUnicode文字にマッピングしないKEY_PRESSEDイベントおよびKEY_RELEASEDイベントは、keyChar値にこれを使用します。
      static EventType<KeyEvent> KEY_PRESSED
      このイベントは、キーが押されたときに発生します。
      static EventType<KeyEvent> KEY_RELEASED
      このイベントは、キーが放されたときに発生します。
      static EventType<KeyEvent> KEY_TYPED
      このイベントは、文字生成キーが入力される(押されてリリースされる)と発生します。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      KeyEvent​(Object source, EventTarget target, EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
      指定されたパラメータから新しいKeyEventイベントを構築します。
      KeyEvent​(EventType<KeyEvent> eventType, String character, String text, KeyCode code, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown)
      nullソースとターゲットを使用して、指定されたパラメータから新しいKeyEventイベントを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      KeyEvent copyFor​(Object newSource, EventTarget newTarget)
      指定したイベント・ソースとターゲットを持つこのイベントのコピーを作成して返します。
      KeyEvent copyFor​(Object source, EventTarget target, EventType<KeyEvent> type)
      指定のフィールドが置換された特定のイベントのコピーを作成します。
      String getCharacter​()
      キー・タイプ・イベントに関連付けられたUnicode文字または文字シーケンス。
      KeyCode getCode​()
      このキー・プレスおよびキー・リリース・イベントのキーに関連付けられているキー・コード。
      EventType<KeyEvent> getEventType​()
      このイベントのイベント・タイプを取得します。
      String getText​()
      キー・プレス・イベントおよびキー・リリース・イベントのキー・コードについて説明する文字列(HOME、F1、Aなど)。
      boolean isAltDown​()
      このイベントでAlt修飾子が押されたかどうかを返します。
      boolean isControlDown​()
      このイベントでCtrl修飾子が押されたかどうかを返します。
      boolean isMetaDown​()
      このイベントでMeta修飾子が押されたかどうかを返します。
      boolean isShiftDown​()
      このイベントでShift修飾子が押されたかどうかを返します。
      boolean isShortcutDown​()
      このイベントでホスト・プラットフォームの一般的なShortcut修飾子が押されたかどうかを返します。
      String toString​()
      このKeyEventオブジェクトの文字列表現を返します。
    • フィールドの詳細

      • ANY

        public static final EventType<KeyEvent> ANY
        すべてのキー・イベント・タイプに共通のスーパータイプ。
      • KEY_PRESSED

        public static final EventType<KeyEvent> KEY_PRESSED
        このイベントは、キーが押されたときに発生します。
      • KEY_RELEASED

        public static final EventType<KeyEvent> KEY_RELEASED
        このイベントは、キーが放されたときに発生します。
      • KEY_TYPED

        public static final EventType<KeyEvent> KEY_TYPED
        このイベントは、文字生成キーが入力される(押されてリリースされる)と発生します。 このイベントには、入力された文字列を含むcharacterフィールドが含まれ、codeフィールドとtextフィールドは使用されません。
      • CHAR_UNDEFINED

        public static final String CHAR_UNDEFINED
        有効なUnicode文字にマッピングしないKEY_PRESSEDイベントおよびKEY_RELEASEDイベントは、keyChar値にこれを使用します。
    • コンストラクタの詳細

      • KeyEvent

        public KeyEvent​(Object source,
                        EventTarget target,
                        EventType<KeyEvent> eventType,
                        String character,
                        String text,
                        KeyCode code,
                        boolean shiftDown,
                        boolean controlDown,
                        boolean altDown,
                        boolean metaDown)
        指定されたパラメータから新しいKeyEventイベントを構築します。
        パラメータ:
        source - イベントのソース。 nullに設定できます。
        target - イベントのターゲット。 nullに設定できます。
        eventType - イベントのタイプ。
        character - イベントに関連付けられた文字または文字シーケンス
        text - キー・コードについて説明する文字列
        code - 整数キー・コード
        shiftDown - Shift修飾子が押された場合はtrueです。
        controlDown - Ctrl修飾子が押された場合はtrueです。
        altDown - Alt修飾子が押された場合はtrueです。
        metaDown - Meta修飾子が押された場合はtrueです。
        導入されたバージョン:
        JavaFX 8.0
      • KeyEvent

        public KeyEvent​(EventType<KeyEvent> eventType,
                        String character,
                        String text,
                        KeyCode code,
                        boolean shiftDown,
                        boolean controlDown,
                        boolean altDown,
                        boolean metaDown)
        nullソースとターゲットを使用して、指定されたパラメータから新しいKeyEventイベントを構築します。
        パラメータ:
        eventType - イベントのタイプ。
        character - イベントに関連付けられた文字または文字シーケンス
        text - キー・コードについて説明する文字列
        code - 整数キー・コード
        shiftDown - Shift修飾子が押された場合はtrueです。
        controlDown - Ctrl修飾子が押された場合はtrueです。
        altDown - Alt修飾子が押された場合はtrueです。
        metaDown - Meta修飾子が押された場合はtrueです。
        導入されたバージョン:
        JavaFX 8.0
    • メソッドの詳細

      • getCharacter

        public final String getCharacter​()
        キー・タイプ・イベントに関連付けられたUnicode文字または文字シーケンス。 キーが基本多言語面の外部からの単一のUnicode文字を生成し、これをJavaで対応する代理ペアによりエンコードする必要がある場合、またはキーがUnicode文字自体を複数生成した場合は、複数の要素が含まれています。

        たとえば、characterでは[Shift] + [A]を押すと生成されるキー・タイプ・イベントの値がAになります。 キー・プレス・イベントおよびキー・リリース・イベントの場合、characterは常にCHAR_UNDEFINEDです。

        戻り値:
        キー・タイプ・イベントに関連付けられているUnicode文字
      • getText

        public final String getText​()
        キー・プレス・イベントおよびキー・リリース・イベントのキー・コードについて説明する文字列(HOME、F1、Aなど)。 キー・タイプ・イベントの場合、textは常に空の文字列です。
        戻り値:
        キー・コードについて説明する文字列
      • getCode

        public final KeyCode getCode​()
        このキー・プレスおよびキー・リリース・イベントのキーに関連付けられているキー・コード。 キー・タイプ・イベントの場合、codeは常にKeyCode.UNDEFINEDです。
        戻り値:
        このイベントでキーに関連付けられているキー・コード(キー・タイプ・イベントの場合はKeyCode.UNDEFINED)
      • isShiftDown

        public final boolean isShiftDown​()
        このイベントでShift修飾子が押されたかどうかを返します。
        戻り値:
        このイベントでShift修飾子が押されたかどうか。
      • isControlDown

        public final boolean isControlDown​()
        このイベントでCtrl修飾子が押されたかどうかを返します。
        戻り値:
        このイベントでCtrl修飾子が押されたかどうか。
      • isAltDown

        public final boolean isAltDown​()
        このイベントでAlt修飾子が押されたかどうかを返します。
        戻り値:
        このイベントでAlt修飾子が押されたかどうか。
      • isMetaDown

        public final boolean isMetaDown​()
        このイベントでMeta修飾子が押されたかどうかを返します。
        戻り値:
        このイベントでMeta修飾子が押されたかどうか。
      • isShortcutDown

        public final boolean isShortcutDown​()
        このイベントでホスト・プラットフォームの一般的なShortcut修飾子が押されたかどうかを返します。 この一般的なShortcut修飾子は、ホスト・プラットフォームでショートカットに一般に広く使用されている修飾子キーです。 たとえば、WindowsではCtrl、MacではMeta (コマンド・キー)です。
        戻り値:
        Shortcut修飾子が押されている場合はtrue、それ以外の場合はfalseです。
      • toString

        public String toString​()
        このKeyEventオブジェクトの文字列表現を返します。
        オーバーライド:
        toString、クラス: EventObject
        戻り値:
        このKeyEventオブジェクトの文字列表現
      • copyFor

        public KeyEvent copyFor​(Object newSource,
                                EventTarget newTarget)
        クラスからコピーされた説明: Event
        指定したイベント・ソースとターゲットを持つこのイベントのコピーを作成して返します。 ソースまたはターゲットがnullに設定されている場合は、NULL_SOURCE_TARGET値によって置換されます。
        オーバーライド:
        copyFor 、クラス: Event
        パラメータ:
        newSource - コピーされたイベントの新しいソース
        newTarget - コピーされたイベントの新しいターゲット
        戻り値:
        新しいソースとターゲットを含むイベント・コピー
      • copyFor

        public KeyEvent copyFor​(Object source,
                                EventTarget target,
                                EventType<KeyEvent> type)
        指定のフィールドが置換された特定のイベントのコピーを作成します。
        パラメータ:
        source - コピーされたイベントの新しいソース
        target - コピーされたイベントの新しいターゲット
        type - 新しいイベント・タイプ。
        戻り値:
        フィールドが置換されたイベント・コピー
        導入されたバージョン:
        JavaFX 8.0
      • getEventType

        public EventType<KeyEvent> getEventType​()
        クラスからコピーされた説明: Event
        このイベントのイベント・タイプを取得します。 同じEventクラスの複数のオブジェクトは、異なるイベント・タイプを持つことができます。 これらのイベント・タイプでは、発生するイベントの種類をさらに指定します。
        オーバーライド:
        getEventType 、クラス: InputEvent
        戻り値:
        イベント・タイプ