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

クラスKeyEvent

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

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

この低レベルのイベントは、キーを押したり(キー・プレス)、離したり(キー・リリース)、入力した(キー・タイプ)ときに、コンポーネント・オブジェクト(テキスト・フィールドなど)によって生成されます。 イベントは、そのコンポーネントのaddKeyListenerメソッドを使ってこれらのイベントを受け取るように登録されている、すべてのKeyListenerまたはKeyAdapterオブジェクトに渡されます。 (KeyAdapterオブジェクトはKeyListenerインタフェースを実装します。) 各リスナー・オブジェクトは、イベントが発生したときにこのKeyEventを取得します。

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

getKeyCharメソッドは常に有効なUnicode文字またはCHAR_UNDEFINEDを返します。 文字入力はKEY_TYPEDイベントによって報告されます。KEY_PRESSEDおよびKEY_RELEASEDイベントは必ずしも文字入力に関連付けられていません。 そのため、getKeyCharメソッドの結果は、KEY_TYPEDイベントに対してのみ有効です。

キー・プレスおよびキー・リリース・イベントに対しては、getKeyCodeメソッドはイベントのkeyCodeを返します。 キー・タイプ・イベントに対しては、getKeyCodeメソッドは常にVK_UNDEFINEDを返します。 getExtendedKeyCodeメソッドは、多くのインターナショナル・キーボードの配置でも使用できます。

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

仮想キー・コードは、1つ以上のキー・ストロークの組み合わせによって生成された文字(たとえば、Shiftキーと「a」キーで「A」が生成されます)ではなく、キーボード上のどのキーが押されたのか、または離されたのかを報告するために使用されます。

たとえば、Shiftキーを押すとVK_SHIFTキー・コードでKEY_PRESSEDイベントが発生し、「a」キーを押すとVK_AというkeyCodeが発生します。 「a」キーを離すとVK_AでKEY_RELEASEDイベントが発生します。 これとは別にkeyChar値「A」でKEY_TYPEDイベントが生成されます。

キーボードのキーを押してから離すと、次に示すキー・イベントが順に生成されます

    KEY_PRESSED
    KEY_TYPED (is only generated if a valid Unicode character could be generated.)
    KEY_RELEASED
 
ただし、場合によっては(オートリピート・メソッドやオートインプット・メソッドがアクティブになっている場合など)、順序が異なることやプラットフォームに依存することがあります。

注:

  • アクション・キーのF1やHELPなど、Unicode文字が生成されないキーの組み合わせでは、KEY_TYPEDイベントは発生しません。
  • すべてのキーボードまたはシステムが、すべての仮想キー・コードを発生できるわけではありません。 Javaでは、こうしたキーを人為的に生成する試みはされていません。
  • 仮想キー・コードは物理的なキーを識別するものではなく、プラットフォームやキーボードの配置により異なります。 たとえば、米国語仕様キーボード配置を使用した場合にVK_Qを生成するキーは、フランス語仕様キーボード配置を使用した場合にはVK_Aを生成します。
  • 米国語仕様キーボード配置を使用した場合にVK_Qを生成するキーは、ロシア語やヘブライ語の配置でも独自のコードを生成します。 その他の配置では、これらおよびその他の多くのコードにVK_定数はありません。 これらのコードはgetExtendedKeyCodeを使用して取得でき、VK_定数が使用されるときに使用されます。
  • すべての文字にキー・コードが関連付けられているわけではありません。 たとえば、疑問符がプライマリ・レイヤーに表示されるキーボードはないため、疑問符のキー・コードはありません。
  • プラットフォームに依存しないアクション・キーの取扱いをサポートするために、Javaプラットフォームでは、いくつかの追加の仮想キー定数を使用します(使用しない場合は、仮想キー・コードおよび修飾子を解釈することで認識する必要があります)。 たとえば、日本語版Windowsのキーボードでは、VK_CONVERTとALT修飾子の代わりにVK_ALL_CANDIDATESが返されます。
  • Focus Specificationに規定されているように、デフォルトではキー・イベントはフォーカス所有者にディスパッチされます。

警告: Java言語で定義されているキー(VK_ENTER、VK_BACK_SPACE、VK_TAB)を除き、VK_定数の値に頼らないでください。 プラットフォーム管理者は、今後、より広範囲のキーボードに対応するために、これらの値を必要に応じて変更する権利を留保します。

特定のKeyEventインスタンスのidパラメータがKEY_FIRSTからKEY_LASTまでの範囲にない場合に、未指定の動作が発生します。

導入されたバージョン:
1.1
関連項目:
KeyAdapter, KeyListener, Tutorial: Writing a Key Listener, 直列化された形式
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    static char CHAR_UNDEFINED
    有効なUnicode文字にマッピングしないKEY_PRESSEDイベントおよびKEY_RELEASEDイベントは、keyChar値にこれを使用します。
    static int KEY_FIRST
    キー・イベントに使用されるidの範囲内の最初の番号です。
    static int KEY_LAST
    キー・イベントに使用されるidの範囲内の最後の番号です。
    static int KEY_LOCATION_LEFT
    このキーの場所が複数ある可能性がある場合に、キー・プレスまたはキー・リリースが左側のキーで発生したことを示す定数です。
    static int KEY_LOCATION_NUMPAD
    数値入力キー・パッドまたは数値入力キー・パッドに対応する仮想キーで発生したキー・イベントを示す定数です。
    static int KEY_LOCATION_RIGHT
    キーの場所が複数ある可能性がある場合に、キー・プレスまたはキー・リリースが右側のキーで発生したことを示す定数です。
    static int KEY_LOCATION_STANDARD
    キー・プレスまたはキー・リリースが左側のキーまたは右側のキーとして区別されず、数値入力キー・パッドで発生した(数値入力キー・パッドに対応する仮想キーで発生しなかった)ことを示す定数です。
    static int KEY_LOCATION_UNKNOWN
    keyLocationが不確定または関連がないことを示す定数です。
    static int KEY_PRESSED
    「キー・プレス」イベントです。
    static int KEY_RELEASED
    「キー・リリース」イベントです。
    static int KEY_TYPED
    「キー・タイプ」イベントです。
    static int VK_0
    "0"キーの定数です。
    static int VK_1
    "1"キーの定数です。
    static int VK_2
    "2"キーの定数です。
    static int VK_3
    "3"キーの定数です。
    static int VK_4
    "4"キーの定数です。
    static int VK_5
    "5"キーの定数です。
    static int VK_6
    "6"キーの定数です。
    static int VK_7
    "7"キーの定数です。
    static int VK_8
    "8"キーの定数です。
    static int VK_9
    "9"キーの定数です。
    static int VK_A
    "A"キーの定数です。
    static int VK_ACCEPT
    「同意」または「確定」ファンクション・キー用の定数です。
    static int VK_ADD
    数字パッドの追加キーの定数です。
    static int VK_AGAIN  
    static int VK_ALL_CANDIDATES
    「全候補」ファンクション・キー用の定数です。
    static int VK_ALPHANUMERIC
    「英数」ファンクション・キー用の定数です。
    static int VK_ALT
    ALT仮想キーの定数です。
    static int VK_ALT_GRAPH
    「AltGraph」ファンクション・キー用の定数です。
    static int VK_AMPERSAND  
    static int VK_ASTERISK  
    static int VK_AT
    「@」キー用の定数です。
    static int VK_B
    "B"キーの定数です。
    static int VK_BACK_QUOTE
    BACK_QUOTEキーの定数です。
    static int VK_BACK_SLASH
    円記号キー「\」用の定数です。
    static int VK_BACK_SPACE
    BACK_SPACE仮想キーの定数です。
    static int VK_BEGIN
    「Begin」キー用の定数です。
    static int VK_BRACELEFT  
    static int VK_BRACERIGHT  
    static int VK_C
    "C"キーの定数です。
    static int VK_CANCEL
    CANCEL仮想キーの定数です。
    static int VK_CAPS_LOCK
    CAPS_LOCK仮想キーの定数です。
    static int VK_CIRCUMFLEX
    「^」キー用の定数です。
    static int VK_CLEAR
    CLEAR仮想キーの定数です。
    static int VK_CLOSE_BRACKET
    右角かっこキー「]」用の定数です。
    static int VK_CODE_INPUT
    「コード入力」ファンクション・キー用の定数です。
    static int VK_COLON
    「:」キー用の定数です。
    static int VK_COMMA
    カンマ・キー「,」用の定数です。
    static int VK_COMPOSE
    Composeファンクション・キー用の定数です。
    static int VK_CONTEXT_MENU
    Microsoft Windowsコンテキスト・メニュー・キー用の定数です。
    static int VK_CONTROL
    CONTROL仮想キーの定数です。
    static int VK_CONVERT
    「変換」ファンクション・キー用の定数です。
    static int VK_COPY  
    static int VK_CUT  
    static int VK_D
    "D"キーの定数です。
    static int VK_DEAD_ABOVEDOT  
    static int VK_DEAD_ABOVERING  
    static int VK_DEAD_ACUTE  
    static int VK_DEAD_BREVE  
    static int VK_DEAD_CARON  
    static int VK_DEAD_CEDILLA  
    static int VK_DEAD_CIRCUMFLEX  
    static int VK_DEAD_DIAERESIS  
    static int VK_DEAD_DOUBLEACUTE  
    static int VK_DEAD_GRAVE  
    static int VK_DEAD_IOTA  
    static int VK_DEAD_MACRON  
    static int VK_DEAD_OGONEK  
    static int VK_DEAD_SEMIVOICED_SOUND  
    static int VK_DEAD_TILDE  
    static int VK_DEAD_VOICED_SOUND  
    static int VK_DECIMAL
    数値パッド小数点キーの定数です。
    static int VK_DELETE
    削除キーの定数です。
    static int VK_DIVIDE
    数値パッド分割キーの定数です。
    static int VK_DOLLAR
    「$」キー用の定数です。
    static int VK_DOWN
    数値入力キー・パッドではない矢印キー用の定数です。
    static int VK_E
    "E"キーの定数です。
    static int VK_END
    END仮想キーの定数です。
    static int VK_ENTER
    ENTER仮想キーの定数です。
    static int VK_EQUALS
    等号キー「=」用の定数です。
    static int VK_ESCAPE
    ESCAPE仮想キーの定数です。
    static int VK_EURO_SIGN
    ユーロ通貨記号キー用の定数です。
    static int VK_EXCLAMATION_MARK
    "!"の定数
    static int VK_F
    "F"キーの定数です。
    static int VK_F1
    F1ファンクション・キー用の定数です。
    static int VK_F10
    F10ファンクション・キー用の定数です。
    static int VK_F11
    F11ファンクション・キー用の定数です。
    static int VK_F12
    F12ファンクション・キー用の定数です。
    static int VK_F13
    F13ファンクション・キー用の定数です。
    static int VK_F14
    F14ファンクション・キー用の定数です。
    static int VK_F15
    F15ファンクション・キー用の定数です。
    static int VK_F16
    F16ファンクション・キー用の定数です。
    static int VK_F17
    F17ファンクション・キー用の定数です。
    static int VK_F18
    F18ファンクション・キー用の定数です。
    static int VK_F19
    F19ファンクション・キー用の定数です。
    static int VK_F2
    F2ファンクション・キー用の定数です。
    static int VK_F20
    F20ファンクション・キー用の定数です。
    static int VK_F21
    F21ファンクション・キー用の定数です。
    static int VK_F22
    F22ファンクション・キー用の定数です。
    static int VK_F23
    F23ファンクション・キー用の定数です。
    static int VK_F24
    F24ファンクション・キー用の定数です。
    static int VK_F3
    F3ファンクション・キー用の定数です。
    static int VK_F4
    F4ファンクション・キー用の定数です。
    static int VK_F5
    F5ファンクション・キー用の定数です。
    static int VK_F6
    F6ファンクション・キー用の定数です。
    static int VK_F7
    F7ファンクション・キー用の定数です。
    static int VK_F8
    F8ファンクション・キー用の定数です。
    static int VK_F9
    F9ファンクション・キー用の定数です。
    static int VK_FINAL
    FINALキーの定数です。
    static int VK_FIND  
    static int VK_FULL_WIDTH
    「全角」ファンクション・キー用の定数です。
    static int VK_G
    "G"キーの定数です。
    static int VK_GREATER  
    static int VK_H
    "H"キーの定数です。
    static int VK_HALF_WIDTH
    「半角」ファンクション・キー用の定数です。
    static int VK_HELP
    HELPキーの定数です。
    static int VK_HIRAGANA
    「ひらがな」ファンクション・キー用の定数です。
    static int VK_HOME
    HOME仮想キーの定数です。
    static int VK_I
    "I"キーの定数です。
    static int VK_INPUT_METHOD_ON_OFF
    インプット・メソッドのon/offキー用の定数です。
    static int VK_INSERT
    INSERTキーの定数です。
    static int VK_INVERTED_EXCLAMATION_MARK
    逆向きの感嘆符キー用の定数です。
    static int VK_J
    "J"キーの定数です。
    static int VK_JAPANESE_HIRAGANA
    「日本語-ひらがな」ファンクション・キー用の定数です。
    static int VK_JAPANESE_KATAKANA
    「日本語-カタカナ」ファンクション・キー用の定数です。
    static int VK_JAPANESE_ROMAN
    「日本語-ローマ字」ファンクション・キー用の定数です。
    static int VK_K
    "K"キーの定数です。
    static int VK_KANA
    KANAロック・キーの定数です。
    static int VK_KANA_LOCK
    「かなロック」ファンクション・キー用の定数です。
    static int VK_KANJI
    漢字のための定数。
    static int VK_KATAKANA
    「カタカナ」ファンクション・キー用の定数です。
    static int VK_KP_DOWN
    数値入力キー・パッドの矢印キー用の定数です。
    static int VK_KP_LEFT
    数値入力キー・パッドの矢印キー用の定数です。
    static int VK_KP_RIGHT
    数値入力キー・パッドの矢印キー用の定数です。
    static int VK_KP_UP
    数値入力キー・パッドの矢印キー用の定数です。
    static int VK_L
    "L"キーの定数です。
    static int VK_LEFT
    数値入力キー・パッドではない矢印キー用の定数です。
    static int VK_LEFT_PARENTHESIS
    「(」キー用の定数です。
    static int VK_LESS  
    static int VK_M
    "M"キーの定数です。
    static int VK_META
    METAキーの定数です。
    static int VK_MINUS
    マイナス・キー「-」用の定数です。
    static int VK_MODECHANGE
    MODECHANGEキーの定数です。
    static int VK_MULTIPLY
    ナンバー・パッド乗算キーの定数です。
    static int VK_N
    "N"キーの定数です。
    static int VK_NONCONVERT
    「無変換」ファンクション・キー用の定数です。
    static int VK_NUM_LOCK
    NUM_LOCKキーの定数です。
    static int VK_NUMBER_SIGN
    「#」キー用の定数です。
    static int VK_NUMPAD0
    数字パッドの"0"キーの定数です。
    static int VK_NUMPAD1
    数字パッドの"1"キーの定数です。
    static int VK_NUMPAD2
    数字パッドの"2"キーの定数です。
    static int VK_NUMPAD3
    数字パッドの"3"キーの定数です。
    static int VK_NUMPAD4
    数字パッドの"4"キーの定数です。
    static int VK_NUMPAD5
    数字パッドの"5"キーの定数です。
    static int VK_NUMPAD6
    数字パッドの"6"キーの定数です。
    static int VK_NUMPAD7
    数字パッドの"7"キーの定数です。
    static int VK_NUMPAD8
    数字パッドの"8"キーの定数です。
    static int VK_NUMPAD9
    数字パッドの"9"キーの定数です。
    static int VK_O
    "O"キーの定数です。
    static int VK_OPEN_BRACKET
    左角かっこキー「[」用の定数です。
    static int VK_P
    "P"キーの定数です。
    static int VK_PAGE_DOWN
    PAGE_DOWN仮想キーの定数です。
    static int VK_PAGE_UP
    PAGE_UP仮想キーの定数です。
    static int VK_PASTE  
    static int VK_PAUSE
    PAUSE仮想キーの定数です。
    static int VK_PERIOD
    ピリオド・キー「.」用の定数です。
    static int VK_PLUS
    「+」キー用の定数です。
    static int VK_PREVIOUS_CANDIDATE
    「前候補」ファンクション・キー用の定数です。
    static int VK_PRINTSCREEN
    PRINTSCREENキーの定数です。
    static int VK_PROPS  
    static int VK_Q
    "Q"キーの定数です。
    static int VK_QUOTE
    QUOTEキーの定数です。
    static int VK_QUOTEDBL  
    static int VK_R
    "R"キーの定数です。
    static int VK_RIGHT
    数値入力キー・パッドではない矢印キー用の定数です。
    static int VK_RIGHT_PARENTHESIS
    「)」キー用の定数です。
    static int VK_ROMAN_CHARACTERS
    「ローマ字」ファンクション・キー用の定数です。
    static int VK_S
    "S"キーの定数です。
    static int VK_SCROLL_LOCK
    SCROLL_LOCKキーの定数です。
    static int VK_SEMICOLON
    セミコロン・キー「;」用の定数です。
    static int VK_SEPARATER
    この定数は現在使用されていません。下位互換のためにのみ含まれています。
    static int VK_SEPARATOR
    数値入力キー・パッド・セパレータ・キー用の定数です。
    static int VK_SHIFT
    SHIFT仮想キーの定数です。
    static int VK_SLASH
    スラッシュ・キー「/」用の定数です。
    static int VK_SPACE
    SPACE仮想キーの定数です。
    static int VK_STOP  
    static int VK_SUBTRACT
    数値パッド減算キーの定数です。
    static int VK_T
    "T"キーの定数です。
    static int VK_TAB
    TAB仮想キーの定数です。
    static int VK_U
    "U"キーの定数です。
    static int VK_UNDEFINED
    この値はkeyCodeが不明であることを示すために使用されます。
    static int VK_UNDERSCORE
    「_」キー用の定数です。
    static int VK_UNDO  
    static int VK_UP
    数値入力キー・パッドではない矢印キー用の定数です。
    static int VK_V
    "V"キーの定数です。
    static int VK_W
    "W"キーの定数です。
    static int VK_WINDOWS
    Microsoft Windows「Windows」キー用の定数です。
    static int VK_X
    "X"キーの定数です。
    static int VK_Y
    "Y"キーの定数です。
    static int VK_Z
    "Z"キーの定数です。

    クラス java.util.EventObjectで宣言されたフィールド

    source
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    KeyEvent​(Component source, int id, long when, int modifiers, int keyCode)
    非推奨。
    JDK 1.1以降。代わりにKeyEvent(Component, int, long, int, int, char)を使用してください
    KeyEvent​(Component source, int id, long when, int modifiers, int keyCode, char keyChar)
    KeyEventオブジェクトを構築します。
    KeyEvent​(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation)
    KeyEventオブジェクトを構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    int getExtendedKeyCode()
    イベントの拡張キー・コードを返します。
    static int getExtendedKeyCodeForChar​(int c)
    Unicode文字の拡張キー・コードを返します。
    char getKeyChar()
    このイベントのキーに関連付けられた文字を返します。
    int getKeyCode()
    このイベントのキーに関連付けられた整数型のkeyCodeを返します。
    int getKeyLocation()
    このキー・イベントを発生させたキーの位置を返します。
    static String getKeyModifiersText​(int modifiers)
    非推奨。
    代わりに拡張修飾キーとInputEvent.getModifiersExText(int)を使用することをお勧めします
    static String getKeyText​(int keyCode)
    HOME、F1、AなどのkeyCodeを記述するStringを返します。
    boolean isActionKey()
    このイベントのキーが「アクション」キーであるかどうかを返します。
    String paramString()
    このイベントを特定するパラメータ文字列を返します。
    void setKeyChar​(char keyChar)
    論理文字を示すkeyChar値を設定します。
    void setKeyCode​(int keyCode)
    物理キーを示すkeyCode値を設定します。
    void setModifiers​(int modifiers)
    非推奨。
    JDK1.1.4以降

    クラス java.awt.event.ComponentEventで宣言されたメソッド

    getComponent

    クラス java.awt.AWTEventで宣言されたメソッド

    getID, setSource, toString

    クラス java.util.EventObjectで宣言されたメソッド

    getSource

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait
  • フィールド詳細

  • コンストラクタの詳細

    • KeyEvent

      public KeyEvent​(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation)
      KeyEventオブジェクトを構築します。

      このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、KeyEventのクラスの説明を参照してください。
      when - イベントが発生した時間を指定するlong整数。 負またはゼロの値を渡すことはお薦めできません
      modifiers - イベント中に押された修飾キー(Shift、Ctrl、Alt、Meta)。 負の値を渡すことはお薦めできません。 ゼロの値は修飾子が渡されなかったことを意味します。 拡張された_DOWN_MASK修飾子か古い_MASK修飾子を使用しますが、1つのイベントでモデルを混合しないでください。 拡張修飾子の使用が推奨されます。
      keyCode - 実際のキーに対応する整数型コード、またはVK_UNDEFINED (キー・タイプ・イベントの場合)
      keyChar - イベントによって生成されたUnicode文字、またはCHAR_UNDEFINED (有効なUnicode文字にマッピングしないキー・プレス・イベントおよびキー・リリース・イベントの場合)
      keyLocation - キーの場所を識別します。 有効な値は、KEY_LOCATION_UNKNOWNKEY_LOCATION_STANDARDKEY_LOCATION_LEFTKEY_LOCATION_RIGHT、およびKEY_LOCATION_NUMPADのみです。
      例外:
      IllegalArgumentException - idKEY_TYPEDkeyCharCHAR_UNDEFINEDの場合、idKEY_TYPEDkeyCodeVK_UNDEFINEDでない場合、idKEY_TYPEDkeyLocationKEY_LOCATION_UNKNOWNでない場合、keyLocationが上記に列挙した有効な値のいずれでもない場合。
      IllegalArgumentException - sourceがnullである場合
      導入されたバージョン:
      1.4
      関連項目:
      EventObject.getSource(), AWTEvent.getID(), InputEvent.getWhen(), InputEvent.getModifiers(), getKeyCode(), getKeyChar(), getKeyLocation()
    • KeyEvent

      public KeyEvent​(Component source, int id, long when, int modifiers, int keyCode, char keyChar)
      KeyEventオブジェクトを構築します。

      このメソッドはsourcenullの場合にIllegalArgumentExceptionをスローします。

      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、KeyEventのクラスの説明を参照してください。
      when - イベントが発生した時間を指定するlong整数。 負またはゼロの値を渡すことはお薦めできません
      modifiers - イベント中に押された修飾キー(Shift、Ctrl、Alt、Meta)。 負の値を渡すことはお薦めできません。 ゼロの値は修飾子が渡されなかったことを意味します。 拡張された_DOWN_MASK修飾子か古い_MASK修飾子を使用しますが、1つのイベントでモデルを混合しないでください。 拡張修飾子の使用が推奨されます。
      keyCode - 実際のキーに対応する整数型コード、またはVK_UNDEFINED (キー・タイプ・イベントの場合)
      keyChar - イベントによって生成されたUnicode文字、またはCHAR_UNDEFINED (有効なUnicode文字にマッピングしないキー・プレス・イベントおよびキー・リリース・イベントの場合)
      例外:
      IllegalArgumentException - if idKEY_TYPEDkeyCharCHAR_UNDEFINEDの場合、またはidKEY_TYPEDkeyCodeVK_UNDEFINEDでない場合
      IllegalArgumentException - sourceがnullである場合
      関連項目:
      EventObject.getSource(), AWTEvent.getID(), InputEvent.getWhen(), InputEvent.getModifiers(), getKeyCode(), getKeyChar()
    • KeyEvent

      @Deprecatedpublic KeyEvent​(Component source, int id, long when, int modifiers, int keyCode)
      非推奨。
      JDK 1.1以降。代わりにKeyEvent(Component, int, long, int, int, char)を使用してください
      パラメータ:
      source - イベントを発生させたComponent
      id - イベントのタイプを示す整数。 許容される値については、KeyEventのクラスの説明を参照してください。
      when - イベントが発生した時間を指定するlong整数。 負またはゼロの値を渡すことはお薦めできません
      modifiers - イベント中に押された修飾キー(Shift、Ctrl、Alt、Meta)。 負の値を渡すことはお薦めできません。 ゼロの値は修飾子が渡されなかったことを意味します。 拡張された_DOWN_MASK修飾子か古い_MASK修飾子を使用しますが、1つのイベントでモデルを混合しないでください。 拡張修飾子の使用が推奨されます。
      keyCode - 実際のキーに対応する整数型コード、またはVK_UNDEFINED (キー・タイプ・イベントの場合)
  • メソッドの詳細

    • getKeyCode

      public int getKeyCode()
      このイベントのキーに関連付けられた整数型のkeyCodeを返します。
      戻り値:
      キーボード上の実際のキーに対応する整数型のコード (KEY_TYPEDイベントの場合、keyCodeはVK_UNDEFINED。)
    • setKeyCode

      public void setKeyCode​(int keyCode)
      物理キーを示すkeyCode値を設定します。
      パラメータ:
      keyCode - キーボード上の実際のキーに対応する整数。
    • getKeyChar

      public char getKeyChar()
      このイベントのキーに関連付けられた文字を返します。 たとえば、Shift+「a」のKEY_TYPEDイベントは値「A」を返します。

      KEY_PRESSEDおよびKEY_RELEASEDイベントは文字入力の報告を目的としていません。 そのため、このメソッドによって返される値はKEY_TYPEDイベントに対してのみ有効です。

      戻り値:
      このキー・イベントに対して定義されているUnicode文字。 このキー・イベントに対する有効なUnicode文字がない場合、CHAR_UNDEFINEDが返される。
    • setKeyChar

      public void setKeyChar​(char keyChar)
      論理文字を示すkeyChar値を設定します。
      パラメータ:
      keyChar - このイベントを構成するキーストロークの組み合わせに対応するchar。
    • setModifiers

      @Deprecatedpublic void setModifiers​(int modifiers)
      非推奨。
      JDK1.1.4以降
      InputEventの一部として定義されている、追加的に押されたキー(Shift、Ctrl、Alt、Metaなど)を示す修飾子を設定します。

      注:このメソッドの使用は非推奨です。これは、AWT実装の多くが修飾子の変更を認識しないためです。 シフト修飾子が変更されたときのKEY_TYPEDイベントの使用は、特に推奨できません。

      パラメータ:
      modifiers - 修飾子定数の整数組み合わせ
      関連項目:
      InputEvent
    • getKeyLocation

      public int getKeyLocation()
      このキー・イベントを発生させたキーの位置を返します。 左Shiftキーや右Shiftキーなど一部のキーは、キーボード上で複数回発生します。 さらに、一部のキーは数値入力キー・パッドで発生します。 これは、この種のキーを区別するために使用されます。
      戻り値:
      押された/離されたキーの位置。 KEY_TYPEDイベントの場合は常にKEY_LOCATION_UNKNOWNを返す。
      導入されたバージョン:
      1.4
    • getKeyText

      public static String getKeyText​(int keyCode)
      HOME、F1、AなどのkeyCodeを記述するStringを返します。 これらの文字列はawt.propertiesファイルを変更することによりローカライズが可能です。
      パラメータ:
      keyCode - 説明が返されるキー
      戻り値:
      keyCodeで特定される、物理キーのテキスト記述を含む文字列
    • getKeyModifiersText

      @Deprecated(since="9")public static String getKeyModifiersText​(int modifiers)
      非推奨。
      代わりに拡張修飾キーとInputEvent.getModifiersExText(int)を使用することをお勧めします
      「Shiftキー」や「Ctrl+Shiftキー」などの修飾キーを記述するStringを返します。 これらの文字列はawt.propertiesファイルを変更することによりローカライズが可能です。

      InputEvent.ALT_MASKInputEvent.BUTTON2_MASKは同じ値になるため、どちらの修飾子に対しても文字列「Alt」が返されます。 同様に、InputEvent.META_MASKInputEvent.BUTTON3_MASKは同じ値になるため、どちらの修飾子に対しても文字列「Meta」が返されます。

      パラメータ:
      modifiers - 処理される修飾子マスク
      戻り値:
      イベント時に押された修飾キーの組み合わせのテキスト記述を含む文字列
      関連項目:
      InputEvent.getModifiersExText(int)
    • isActionKey

      public boolean isActionKey()
      このイベントのキーが「アクション」キーであるかどうかを返します。 通常アクション・キーはUnicode文字をトリガーせず、修飾キーではありません。
      戻り値:
      キーが「アクション」キーの場合はtrue、そうでない場合はfalse
    • paramString

      public String paramString()
      このイベントを特定するパラメータ文字列を返します。 このメソッドは、イベント・ログの作成およびデバッグに便利です。
      オーバーライド:
      paramString、クラス: ComponentEvent
      戻り値:
      イベントを特定する文字列とその属性
    • getExtendedKeyCode

      public int getExtendedKeyCode()
      イベントの拡張キー・コードを返します。 拡張キー・コードは、keyCodeと同様に、キーボードのキーに割り当てられている一意のIDです。 ただし、keyCodeとは異なり、この値は現在のキーボードの配置によって異なります。 たとえば、一般的な英語の配置の左上の文字キーを押すと、keyCodeVK_Qと同じ値が返されます。 一般的なロシア語の配置で同じキーを押すと、別のコードが生成されます。このコードは、「キリル文字の短いI」の文字に対して一意です。
      戻り値:
      イベントの拡張キー・コード
      導入されたバージョン:
      1.7
    • getExtendedKeyCodeForChar

      public static int getExtendedKeyCodeForChar​(int c)
      Unicode文字の拡張キー・コードを返します。
      パラメータ:
      c - 処理されるUnicode文字
      戻り値:
      対応するVK_を持つUnicode文字の場合 - このVK_定数。一般的なキーボード配置のプライマリ・レベルに表示される文字の場合は、一意の整数。 一般的なキーボードのプライマリ・レベルに文字が表示されない場合は、VK_UNDEFINEDが返される。
      導入されたバージョン:
      1.7