Module  java.desktop
软件包  java.awt.event

Class KeyEvent

  • All Implemented Interfaces:
    Serializable
    已知直接子类:
    MenuKeyEvent


    public class KeyEvent
    extends InputEvent
    指示组件中发生击键的事件。

    当按下,释放或键入键时,此低级别事件由组件对象(例如文本字段)生成。 该事件传递给每个KeyListenerKeyAdapter对象,其注册使用组件的addKeyListener方法接收此类事件。 KeyAdapter对象实现KeyListener接口。)每个这样的侦听器对象在事件发生时得到这个KeyEvent

    “键型”事件较高级,通常不依赖于平台或键盘布局。 它们在输入Unicode字符时生成,并且是查找字符输入的首选方式。 在最简单的情况下,键型事件由一个按键(例如'a')产生。 然而,通常,通过一系列按键(例如,“shift”+“a”)产生字符,并且从按键事件到键类型事件的映射可以是多对一或多对多。 主要版本通常不需要生成键入类型的事件,但有些情况下键盘事件不会生成,直到键被释放(例如,通过Windows中的Alt-Numpad方法输入ASCII序列)。 不生成不产生Unicode字符的键(例如,操作键,修饰键等)的键类型事件。

    getKeyChar方法总是返回一个有效的Unicode字符或CHAR_UNDEFINED。 字符输入由KEY_TYPED事件报告:KEY_PRESSED和KEY_RELEASED事件不一定与字符输入相关联。 因此,getKeyChar方法的结果保证仅对KEY_TYPED事件有意义。

    对于按键和键释放事件,getKeyCode方法返回事件的keyCode。 对于键类型事件,getKeyCode方法总是返回VK_UNDEFINED getExtendedKeyCode方法也可以与许多国际键盘布局一起使用。

    “按键”和“按键释放”事件较低级别,取决于平台和键盘布局。 它们是按键或释放键生成的,是找出不产生字符输入的键的唯一方法(例如,操作键,修改键等)。 按下或释放的键由getKeyCodegetExtendedKeyCode方法指示,返回虚拟键码。

    虚拟键码用于报告已按下哪个键盘键,而不是由一个或多个按键组合(例如来自shift和“a”的“A”)产生的字符。

    例如,按Shift键将导致带有VK_SHIFT keyCode的KEY_PRESSED事件,而按'a'键将导致VK_A keyCode。 在“a”键被释放后,KEY_RELEASED事件将被触发VK_A。 另外,生成keyChar值为“A”的KEY_TYPED事件。

    按下并释放键盘上的一个键可以产生以下关键事件(按顺序):

      KEY_PRESSED
        KEY_TYPED (is only generated if a valid Unicode character could be generated.)
        KEY_RELEASED 
    但是在某些情况下(例如,自动重复或输入法被激活),顺序可能不同(和平台依赖)。

    笔记:

    • 不会导致Unicode字符的键组合(例如F1和HELP键等动作键)不生成KEY_TYPED事件。
    • 并不是所有的键盘或系统都能够生成所有虚拟键代码。 在Java中没有尝试人为地生成这些密钥。
    • 虚拟键代码不能识别物理键:它们取决于平台和键盘布局。 例如,使用美国键盘布局时生成VK_Q的键将在使用法语键盘布局时生成VK_A。
    • 使用美国键盘布局时生成VK_Q的关键字也会为俄语或希伯来语布局生成唯一的代码。 这些和许多其他代码在各种布局中没有一个VK_常数。 这些代码可以通过使用getExtendedKeyCode获得,并且在使用VK_常数时使用。
    • 并不是所有的字符都有与它们相关联的键码。 例如,问号没有键码,因为它没有出现在主图层上的键盘。
    • 为了支持独立于平台的操作键处理,Java平台使用一些额外的虚拟键常量来为功能解释虚拟键代码和修饰符而必须被识别的功能。 例如,对于日语Windows键盘,使用ALT修饰符返回VK_ALL_CANDIDATES而不是VK_CONVERT。
    • 按照Focus Specification中的规定,默认情况下将重点事件调度到焦点所有者。

    警告:除了由Java语言(VK_ENTER,VK_BACK_SPACE和VK_TAB)定义的那些键外,不要依赖于VK_常量的值。 平台管家保留根据需要更改这些值的权利,以适应未来更广泛的键盘。

    如果任何特定KeyEvent实例的id参数不在从KEY_FIRSTKEY_LAST的范围内,将会导致未指定的行为。

    从以下版本开始:
    1.1
    另请参见:
    KeyAdapterKeyListenerTutorial: Writing a Key ListenerSerialized Form
    • 字段详细信息

      • KEY_FIRST

        public static final int KEY_FIRST
        用于关键事件的ids范围中的第一个数字。
        另请参见:
        Constant Field Values
      • KEY_LAST

        public static final int KEY_LAST
        用于关键事件的ids范围中的最后一个数字。
        另请参见:
        Constant Field Values
      • KEY_TYPED

        public static final int KEY_TYPED
        “键入”事件。 此事件是在输入字符时生成的。 在最简单的情况下,它是由单个按键生成的。 然而,通常,通过一系列按键产生字符,并且从按键事件到键类型事件的映射可以是多对一或多对多。
        另请参见:
        Constant Field Values
      • KEY_PRESSED

        public static final int KEY_PRESSED
        “按键”事件。 当按下一个键时,会生成此事件。
        另请参见:
        Constant Field Values
      • KEY_RELEASED

        public static final int KEY_RELEASED
        “关键发布”事件。 当一个关键字放开时,会产生此事件。
        另请参见:
        Constant Field Values
      • VK_ENTER

        public static final int VK_ENTER
        ENTER虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_BACK_SPACE

        public static final int VK_BACK_SPACE
        常量为BACK_SPACE虚拟键。
        另请参见:
        Constant Field Values
      • VK_CANCEL

        public static final int VK_CANCEL
        CANCEL虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_CLEAR

        public static final int VK_CLEAR
        CLEAR虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_SHIFT

        public static final int VK_SHIFT
        SHIFT虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_CONTROL

        public static final int VK_CONTROL
        CONTROL虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_PAUSE

        public static final int VK_PAUSE
        PAUSE虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_CAPS_LOCK

        public static final int VK_CAPS_LOCK
        CAPS_LOCK虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_ESCAPE

        public static final int VK_ESCAPE
        ESCAPE虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_SPACE

        public static final int VK_SPACE
        SPACE虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_PAGE_UP

        public static final int VK_PAGE_UP
        PAGE_UP虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_PAGE_DOWN

        public static final int VK_PAGE_DOWN
        PAGE_DOWN虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_HOME

        public static final int VK_HOME
        HOME虚拟键的常数。
        另请参见:
        Constant Field Values
      • VK_COMMA

        public static final int VK_COMMA
        常数为逗号键“,”
        另请参见:
        Constant Field Values
      • VK_MINUS

        public static final int VK_MINUS
        常数为减号,“ - ”
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_PERIOD

        public static final int VK_PERIOD
        期间关键的常数“”。
        另请参见:
        Constant Field Values
      • VK_SLASH

        public static final int VK_SLASH
        正斜杠的常数为“/”
        另请参见:
        Constant Field Values
      • VK_SEMICOLON

        public static final int VK_SEMICOLON
        常数为分号键,“;”
        另请参见:
        Constant Field Values
      • VK_EQUALS

        public static final int VK_EQUALS
        等于键的常数,“=”
        另请参见:
        Constant Field Values
      • VK_OPEN_BRACKET

        public static final int VK_OPEN_BRACKET
        常数为打开括号的键,“[”
        另请参见:
        Constant Field Values
      • VK_BACK_SLASH

        public static final int VK_BACK_SLASH
        常数为斜杠,“\”
        另请参见:
        Constant Field Values
      • VK_CLOSE_BRACKET

        public static final int VK_CLOSE_BRACKET
        关闭括号键的常数,“]”
        另请参见:
        Constant Field Values
      • VK_NUMPAD0

        public static final int VK_NUMPAD0
        数字键“0”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD1

        public static final int VK_NUMPAD1
        数字键“1”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD2

        public static final int VK_NUMPAD2
        数字键“2”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD3

        public static final int VK_NUMPAD3
        数字键“3”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD4

        public static final int VK_NUMPAD4
        数字键“4”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD5

        public static final int VK_NUMPAD5
        数字键“5”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD6

        public static final int VK_NUMPAD6
        数字键“6”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD7

        public static final int VK_NUMPAD7
        数字键“7”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD8

        public static final int VK_NUMPAD8
        数字键“8”键的常数。
        另请参见:
        Constant Field Values
      • VK_NUMPAD9

        public static final int VK_NUMPAD9
        数字键“9”键的常数。
        另请参见:
        Constant Field Values
      • VK_MULTIPLY

        public static final int VK_MULTIPLY
        数字键的常数乘法键。
        另请参见:
        Constant Field Values
      • VK_ADD

        public static final int VK_ADD
        常数为数字键添加键。
        另请参见:
        Constant Field Values
      • VK_SEPARATOR

        public static final int VK_SEPARATOR
        Numpad Separator键的常数。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • VK_SUBTRACT

        public static final int VK_SUBTRACT
        数字键的常数减去键。
        另请参见:
        Constant Field Values
      • VK_DECIMAL

        public static final int VK_DECIMAL
        数字小数点键的常数。
        另请参见:
        Constant Field Values
      • VK_DIVIDE

        public static final int VK_DIVIDE
        数字键分割键的常数。
        另请参见:
        Constant Field Values
      • VK_DELETE

        public static final int VK_DELETE
        常数为删除键。
        另请参见:
        Constant Field Values
      • VK_NUM_LOCK

        public static final int VK_NUM_LOCK
        常数为NUM_LOCK键。
        另请参见:
        Constant Field Values
      • VK_SCROLL_LOCK

        public static final int VK_SCROLL_LOCK
        SCROLL_LOCK键的常数。
        另请参见:
        Constant Field Values
      • VK_F13

        public static final int VK_F13
        F13功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F14

        public static final int VK_F14
        F14功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F15

        public static final int VK_F15
        F15功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F16

        public static final int VK_F16
        F16功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F17

        public static final int VK_F17
        F17功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F18

        public static final int VK_F18
        F18功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F19

        public static final int VK_F19
        F19功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F20

        public static final int VK_F20
        F20功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F21

        public static final int VK_F21
        F21功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F22

        public static final int VK_F22
        F22功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F23

        public static final int VK_F23
        F23功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_F24

        public static final int VK_F24
        F24功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_PRINTSCREEN

        public static final int VK_PRINTSCREEN
        PRINTSCREEN键的常数。
        另请参见:
        Constant Field Values
      • VK_INSERT

        public static final int VK_INSERT
        INSERT键的常数。
        另请参见:
        Constant Field Values
      • VK_BACK_QUOTE

        public static final int VK_BACK_QUOTE
        常量为BACK_QUOTE键。
        另请参见:
        Constant Field Values
      • VK_KP_UP

        public static final int VK_KP_UP
        常数为数字键盘 向上箭头键。
        从以下版本开始:
        1.2
        另请参见:
        VK_UPConstant Field Values
      • VK_KP_DOWN

        public static final int VK_KP_DOWN
        常数为数字键盘 向下箭头键。
        从以下版本开始:
        1.2
        另请参见:
        VK_DOWNConstant Field Values
      • VK_KP_LEFT

        public static final int VK_KP_LEFT
        常数为数字键盘 箭头键。
        从以下版本开始:
        1.2
        另请参见:
        VK_LEFTConstant Field Values
      • VK_KP_RIGHT

        public static final int VK_KP_RIGHT
        数字键盘 箭头键的常数。
        从以下版本开始:
        1.2
        另请参见:
        VK_RIGHTConstant Field Values
      • VK_DEAD_GRAVE

        public static final int VK_DEAD_GRAVE
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_ACUTE

        public static final int VK_DEAD_ACUTE
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_CIRCUMFLEX

        public static final int VK_DEAD_CIRCUMFLEX
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_TILDE

        public static final int VK_DEAD_TILDE
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_MACRON

        public static final int VK_DEAD_MACRON
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_BREVE

        public static final int VK_DEAD_BREVE
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_ABOVEDOT

        public static final int VK_DEAD_ABOVEDOT
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_DIAERESIS

        public static final int VK_DEAD_DIAERESIS
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_ABOVERING

        public static final int VK_DEAD_ABOVERING
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_DOUBLEACUTE

        public static final int VK_DEAD_DOUBLEACUTE
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_CARON

        public static final int VK_DEAD_CARON
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_CEDILLA

        public static final int VK_DEAD_CEDILLA
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_OGONEK

        public static final int VK_DEAD_OGONEK
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_IOTA

        public static final int VK_DEAD_IOTA
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_VOICED_SOUND

        public static final int VK_DEAD_VOICED_SOUND
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DEAD_SEMIVOICED_SOUND

        public static final int VK_DEAD_SEMIVOICED_SOUND
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_AMPERSAND

        public static final int VK_AMPERSAND
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_ASTERISK

        public static final int VK_ASTERISK
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_QUOTEDBL

        public static final int VK_QUOTEDBL
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_LESS

        public static final int VK_LESS
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_GREATER

        public static final int VK_GREATER
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_BRACELEFT

        public static final int VK_BRACELEFT
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_BRACERIGHT

        public static final int VK_BRACERIGHT
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_AT

        public static final int VK_AT
        “@”键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_COLON

        public static final int VK_COLON
        “:”键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_CIRCUMFLEX

        public static final int VK_CIRCUMFLEX
        常数为“^”键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_DOLLAR

        public static final int VK_DOLLAR
        “$”键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_EURO_SIGN

        public static final int VK_EURO_SIGN
        欧元货币符号键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_EXCLAMATION_MARK

        public static final int VK_EXCLAMATION_MARK
        常数为“!” 键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_INVERTED_EXCLAMATION_MARK

        public static final int VK_INVERTED_EXCLAMATION_MARK
        反转感叹号的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_LEFT_PARENTHESIS

        public static final int VK_LEFT_PARENTHESIS
        常数为“(”键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_NUMBER_SIGN

        public static final int VK_NUMBER_SIGN
        “#”键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_PLUS

        public static final int VK_PLUS
        常数为“+”键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_RIGHT_PARENTHESIS

        public static final int VK_RIGHT_PARENTHESIS
        常数为“)”键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_UNDERSCORE

        public static final int VK_UNDERSCORE
        常量为“_”键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_WINDOWS

        public static final int VK_WINDOWS
        Microsoft Windows“Windows”键的常数。 它用于键盘的左右两个版本。
        从以下版本开始:
        1.5
        另请参见:
        getKeyLocation()Constant Field Values
      • VK_CONTEXT_MENU

        public static final int VK_CONTEXT_MENU
        Microsoft Windows上下文菜单键的常数。
        从以下版本开始:
        1.5
        另请参见:
        Constant Field Values
      • VK_CONVERT

        public static final int VK_CONVERT
        转换功能键的常数。
        另请参见:
        Constant Field Values
      • VK_NONCONVERT

        public static final int VK_NONCONVERT
        不转换功能键的常数。
        另请参见:
        Constant Field Values
      • VK_ACCEPT

        public static final int VK_ACCEPT
        接受或提交功能键的常数。
        另请参见:
        Constant Field Values
      • VK_MODECHANGE

        public static final int VK_MODECHANGE
        MODECHANGE键的常数。
        另请参见:
        Constant Field Values
      • VK_ALPHANUMERIC

        public static final int VK_ALPHANUMERIC
        字母数字功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_KATAKANA

        public static final int VK_KATAKANA
        片假名功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_HIRAGANA

        public static final int VK_HIRAGANA
        平假名功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_FULL_WIDTH

        public static final int VK_FULL_WIDTH
        全角字符的常量功能键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_HALF_WIDTH

        public static final int VK_HALF_WIDTH
        半角字符功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_ROMAN_CHARACTERS

        public static final int VK_ROMAN_CHARACTERS
        罗马字符功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_ALL_CANDIDATES

        public static final int VK_ALL_CANDIDATES
        所有候选人的常数功能键。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_PREVIOUS_CANDIDATE

        public static final int VK_PREVIOUS_CANDIDATE
        上一个候选功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_CODE_INPUT

        public static final int VK_CODE_INPUT
        代码输入功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_JAPANESE_KATAKANA

        public static final int VK_JAPANESE_KATAKANA
        日本片假名功能键的常数。 该键切换到日文输入法,并选择其片假名输入模式。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_JAPANESE_HIRAGANA

        public static final int VK_JAPANESE_HIRAGANA
        日文 - 平假名功能键的常数。 此键切换到日语输入法,并选择其平假名输入模式。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_JAPANESE_ROMAN

        public static final int VK_JAPANESE_ROMAN
        日常罗马功能键的常数。 该键切换到日语输入法,并选择其Roman-Direct输入模式。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_KANA_LOCK

        public static final int VK_KANA_LOCK
        锁定假名功能键的常数。 该键将键盘锁定到假名布局。
        从以下版本开始:
        1.3
        另请参见:
        Constant Field Values
      • VK_INPUT_METHOD_ON_OFF

        public static final int VK_INPUT_METHOD_ON_OFF
        输入法/常规键的常数。
        从以下版本开始:
        1.3
        另请参见:
        Constant Field Values
      • VK_CUT

        public static final int VK_CUT
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_COPY

        public static final int VK_COPY
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_PASTE

        public static final int VK_PASTE
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_UNDO

        public static final int VK_UNDO
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_AGAIN

        public static final int VK_AGAIN
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_FIND

        public static final int VK_FIND
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_PROPS

        public static final int VK_PROPS
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_STOP

        public static final int VK_STOP
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_COMPOSE

        public static final int VK_COMPOSE
        编写功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_ALT_GRAPH

        public static final int VK_ALT_GRAPH
        AltGraph功能键的常数。
        从以下版本开始:
        1.2
        另请参见:
        Constant Field Values
      • VK_BEGIN

        public static final int VK_BEGIN
        常数为开始键。
        从以下版本开始:
        1.5
        另请参见:
        Constant Field Values
      • VK_UNDEFINED

        public static final int VK_UNDEFINED
        该值用于表示keyCode未知。 KEY_TYPED事件没有keyCode值; 该值被替代使用。
        另请参见:
        Constant Field Values
      • CHAR_UNDEFINED

        public static final char CHAR_UNDEFINED
        KEY_PRESSED和KEY_RELEASED事件不映射到一个有效的Unicode字符使用它作为keyChar值。
        另请参见:
        Constant Field Values
      • KEY_LOCATION_UNKNOWN

        public static final int KEY_LOCATION_UNKNOWN
        一个常量,表示keyLocation不确定或不相关。 KEY_TYPED事件没有keyLocation; 该值被替代使用。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • KEY_LOCATION_STANDARD

        public static final int KEY_LOCATION_STANDARD
        指示按键或释放的键不被区分为键的左或右版本,并且不起源于数字键盘(或不是源自与数字键盘对应的虚拟键)。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • KEY_LOCATION_LEFT

        public static final int KEY_LOCATION_LEFT
        指示按下或释放的键位于左键位置(该键有多个可能位置)的常数。 示例:左移键。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • KEY_LOCATION_RIGHT

        public static final int KEY_LOCATION_RIGHT
        一个常数表示按下或释放的键位于正确的键位置(该键有多个可能的位置)。 示例:右移键。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • KEY_LOCATION_NUMPAD

        public static final int KEY_LOCATION_NUMPAD
        指示键数据小键盘上的密钥事件或与数字小键盘对应的虚拟键的常数。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • KeyEvent

        public KeyEvent​(Component source,
                        int id,
                        long when,
                        int modifiers,
                        int keyCode,
                        char keyChar,
                        int keyLocation)
        构造一个KeyEvent对象。

        此方法抛出IllegalArgumentException如果sourcenull

        参数
        source - 发起事件的 Component
        id - 指示事件类型的整数。 有关允许值的信息,请参阅KeyEvent的类描述
        when - 指定事件发生时间的长整数。 不建议传递负值或零值
        modifiers - 修改器在事件期间按下(shift,ctrl,alt,meta)。 不推荐传递负值。 零值表示没有通过修饰符。 使用扩展_DOWN_MASK或旧_MASK修饰符,但不要在一个事件中混合模型。 扩展的修饰剂优选用于使用
        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_TYPEDkeyCode不是VK_UNDEFINED ; 或如果idKEY_TYPEDkeyLocation不是KEY_LOCATION_UNKNOWN ; 或者如果keyLocation不是上面列举的合法价值之一。
        IllegalArgumentException - 如果 source为空
        从以下版本开始:
        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对象。

        此方法抛出IllegalArgumentException如果sourcenull

        参数
        source - 发起事件的 Component
        id - 指示事件类型的整数。 有关允许值的信息,请参阅KeyEvent的类描述
        when - 指定事件发生时间的长整数。 不建议传递负值或零值
        modifiers - 修改器在事件期间按下(shift,ctrl,alt,meta)。 不推荐传递负值。 零值表示没有通过修饰符。 使用扩展_DOWN_MASK或旧_MASK修饰符,但不要在一个事件中混合模型。 扩展的修饰剂优选用于使用
        keyCode - 实际键的整数代码,或VK_UNDEFINED(对于键入事件)
        keyChar - 此事件生成的Unicode字符或CHAR_UNDEFINED(对于未映射到有效Unicode字符的按键和键释放事件)
        异常
        IllegalArgumentException - 如果idKEY_TYPEDkeyCharCHAR_UNDEFINED ; 或如果idKEY_TYPEDkeyCode不是VK_UNDEFINED
        IllegalArgumentException - 如果 source为空
        另请参见:
        EventObject.getSource()AWTEvent.getID()InputEvent.getWhen()InputEvent.getModifiers()getKeyCode()getKeyChar()
      • KeyEvent

        @Deprecated
        public KeyEvent​(Component source,
                        int id,
                        long when,
                        int modifiers,
                        int keyCode)
        已过时。 截至JDK1.1; 请改用KeyEvent(Component, int, long, int, int, char)
        参数
        source - 发起事件的 Component
        id - 表示事件类型的整数。 有关允许值的信息,请参阅KeyEvent的类说明
        when - 指定事件发生时间的长整数。 不建议传递负值或零值
        modifiers - 修改器在事件期间按下(shift,ctrl,alt,meta)。 不推荐传递负值。 零值表示没有通过修饰符。 使用扩展_DOWN_MASK或旧_MASK修饰符,但不要在一个事件中混合模型。 扩展的修饰剂优选用于使用
        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_PRESSEDKEY_RELEASED事件不用于报告字符输入。 因此,此方法返回的值将被保证仅对KEY_TYPED事件有意义。

        结果
        为此键事件定义的Unicode字符。 如果此键事件不存在有效的Unicode字符,则返回CHAR_UNDEFINED
      • setKeyChar

        public void setKeyChar​(char keyChar)
        设置keyChar值以指示逻辑字符。
        参数
        keyChar - 对应于构成此事件的按键组合的 keyChar
      • setModifiers

        @Deprecated
        public void setModifiers​(int modifiers)
        已过时。 截至JDK1.1.4
        设置修饰符以指示被定义为InputEvent的一部分的其他被按下的键(例如shift,ctrl,alt,meta)。

        注意:不建议使用此方法,因为许多AWT实现不会识别修饰符更改。 对于更改换档修改器的KEY_TYPED事件尤其如此。

        参数
        modifiers - 修饰符常数的整数组合。
        另请参见:
        InputEvent
      • getKeyLocation

        public int getKeyLocation​()
        返回发起此键事件的键的位置。 一些键在键盘上不止一次出现,例如左右移动键。 另外,数字键盘上也会出现一些键。 这提供了区分这些键的方式。
        结果
        按下或释放的键的位置。 始终为KEY_TYPED事件返回KEY_LOCATION_UNKNOWN
        从以下版本开始:
        1.4
      • getKeyText

        public static String getKeyText​(int keyCode)
        返回一个描述keyCode的String,如“HOME”,“F1”或“A”。 这些字符串可以通过更改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​()
        返回标识此事件的参数字符串。 此方法对于事件记录和调试很有用。
        重写:
        paramStringComponentEvent
        结果
        标识事件及其属性的字符串
      • getExtendedKeyCode

        public int getExtendedKeyCode​()
        返回事件的扩展密钥代码。 扩展密钥代码是分配给键盘上的键的唯一ID,就像keyCode 但是,与keyCode不同,此值取决于当前的键盘布局。 例如,在一个共同的英文布局按左最上面的字母键的值相同keyCodeVK_Q 在俄罗斯的常规布局中按相同的键可以给出另外一个代码,这个代码对于“西里尔字母I”来说是独一无二的。
        结果
        该事件的扩展密钥代码
        从以下版本开始:
        1.7
      • getExtendedKeyCodeForChar

        public static int getExtendedKeyCodeForChar​(int c)
        返回unicode字符的扩展密钥代码。
        参数
        c - 要处理的unicode字符
        结果
        对于一个unicode字符与相应的VK_常数 - 这个VK_常数; 对于出现在已知键盘布局的主要级别上的角色 - 唯一的整数。 如果字符未显示在已知键盘的主级上,则返回VK_UNDEFINED
        从以下版本开始:
        1.7