模块 java.desktop

类 KeyEvent

所有已实现的接口:
Serializable
已知子类:
MenuKeyEvent

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

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

"Key typed" events 是更高级别的,通常不依赖于平台或键盘布局。它们在输入 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_UNDEFINEDgetExtendedKeyCode 方法也可用于许多国际键盘布局。

"Key pressed" and "key released" events 是较低级别的,取决于平台和键盘布局。每当按下或释放一个键时就会生成它们,并且是找出不生成字符输入的键(例如,操作键、修改键等)的唯一方法。按下或释放的键由 getKeyCodegetExtendedKeyCode 方法指示,它们返回虚拟键码。

Virtual key codes 用于报告按下了哪个键盘键,而不是一个或多个击键组合生成的字符(例如“A”,它来自 shift 和“a”)。

例如,按下 Shift 键将导致带有 VK_SHIFT keyCode 的 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 
 
但在某些情况下(例如自动重复或输入法被激活)顺序可能不同(并且取决于平台)。

笔记:

  • 不会产生 Unicode 字符的组合键,例如像 F1 和 HELP 键这样的操作键,不会生成 KEY_TYPED 事件。
  • 并非所有键盘或系统都能够生成所有虚拟键码。 Java 中没有尝试人为地生成这些密钥。
  • 虚拟键码不识别物理键:它们取决于平台和键盘布局。例如,使用美式键盘布局时生成 VK_Q 的键将在使用法语键盘布局时生成 VK_A。
  • 使用美国键盘布局时生成 VK_Q 的键也会为俄语或希伯来语布局生成唯一代码。这些和各种布局中的许多其他代码没有VK_常量。这些代码可以通过使用 getExtendedKeyCode 获得,并在使用 VK_ 常量时使用。
  • 并非所有字符都有与之关联的键码。例如,问号没有键码,因为它在主层上没有对应的键盘。
  • 为了支持独立于平台的操作键处理,Java 平台为函数使用了一些额外的虚拟键常量,否则这些函数必须通过解释虚拟键代码和修饰符来识别。例如,对于日文 Windows 键盘,返回 VK_ALL_CANDIDATES 而不是带有 ALT 修饰符的 VK_CONVERT。
  • 对焦规格 中所指定,默认情况下将键事件分派给焦点所有者。

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

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

自从:
1.1
参见:
  • 字段详细信息

    • KEY_FIRST

      public static final int KEY_FIRST
      用于按键事件的 ID 范围内的第一个数字。
      参见:
    • KEY_LAST

      public static final int KEY_LAST
      用于按键事件的 ID 范围内的最后一个数字。
      参见:
    • KEY_TYPED

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

      public static final int KEY_PRESSED
      “按键按下”事件。按下某个键时会生成此事件。
      参见:
    • KEY_RELEASED

      public static final int KEY_RELEASED
      “钥匙释放”事件。松开某个键时会生成此事件。
      参见:
    • VK_ENTER

      public static final int VK_ENTER
      ENTER 虚拟键的常量。
      参见:
    • VK_BACK_SPACE

      public static final int VK_BACK_SPACE
      BACK_SPACE 虚拟键的常量。
      参见:
    • VK_TAB

      public static final int VK_TAB
      TAB 虚拟键的常量。
      参见:
    • VK_CANCEL

      public static final int VK_CANCEL
      CANCEL 虚拟键的常量。
      参见:
    • VK_CLEAR

      public static final int VK_CLEAR
      CLEAR 虚拟键的常量。
      参见:
    • VK_SHIFT

      public static final int VK_SHIFT
      SHIFT 虚拟键的常量。
      参见:
    • VK_CONTROL

      public static final int VK_CONTROL
      CONTROL 虚拟键的常量。
      参见:
    • VK_ALT

      public static final int VK_ALT
      ALT 虚拟键的常量。
      参见:
    • VK_PAUSE

      public static final int VK_PAUSE
      PAUSE 虚拟键的常量。
      参见:
    • VK_CAPS_LOCK

      public static final int VK_CAPS_LOCK
      CAPS_LOCK 虚拟键的常量。
      参见:
    • VK_ESCAPE

      public static final int VK_ESCAPE
      ESCAPE 虚拟键的常量。
      参见:
    • VK_SPACE

      public static final int VK_SPACE
      SPACE 虚拟键的常量。
      参见:
    • VK_PAGE_UP

      public static final int VK_PAGE_UP
      PAGE_UP 虚拟键的常量。
      参见:
    • VK_PAGE_DOWN

      public static final int VK_PAGE_DOWN
      PAGE_DOWN 虚拟键的常量。
      参见:
    • VK_END

      public static final int VK_END
      END 虚拟键的常量。
      参见:
    • VK_HOME

      public static final int VK_HOME
      HOME 虚拟键的常量。
      参见:
    • VK_LEFT

      public static final int VK_LEFT
      非小键盘常量left箭头键。
      参见:
    • VK_UP

      public static final int VK_UP
      非小键盘常量向上箭头键。
      参见:
    • VK_RIGHT

      public static final int VK_RIGHT
      非小键盘常量right箭头键。
      参见:
    • VK_DOWN

      public static final int VK_DOWN
      非小键盘常量向下箭头键。
      参见:
    • VK_COMMA

      public static final int VK_COMMA
      逗号键“,”的常量
      参见:
    • VK_MINUS

      public static final int VK_MINUS
      减号键常量,“-”
      自从:
      1.2
      参见:
    • VK_PERIOD

      public static final int VK_PERIOD
      句点键“.”的常量
      参见:
    • VK_SLASH

      public static final int VK_SLASH
      正斜杠键常量,“/”
      参见:
    • VK_0

      public static final int VK_0
      “0”键的常量。
      参见:
    • VK_1

      public static final int VK_1
      “1”键的常量。
      参见:
    • VK_2

      public static final int VK_2
      “2”键的常量。
      参见:
    • VK_3

      public static final int VK_3
      “3”键的常量。
      参见:
    • VK_4

      public static final int VK_4
      “4”键的常量。
      参见:
    • VK_5

      public static final int VK_5
      “5”键的常量。
      参见:
    • VK_6

      public static final int VK_6
      “6”键的常量。
      参见:
    • VK_7

      public static final int VK_7
      “7”键的常量。
      参见:
    • VK_8

      public static final int VK_8
      “8”键的常量。
      参见:
    • VK_9

      public static final int VK_9
      “9”键的常量。
      参见:
    • VK_SEMICOLON

      public static final int VK_SEMICOLON
      分号键常量,“;”
      参见:
    • VK_EQUALS

      public static final int VK_EQUALS
      等号键的常量,“=”
      参见:
    • VK_A

      public static final int VK_A
      “A”键的常量。
      参见:
    • VK_B

      public static final int VK_B
      “B”键的常量。
      参见:
    • VK_C

      public static final int VK_C
      “C”键的常量。
      参见:
    • VK_D

      public static final int VK_D
      “D”键的常量。
      参见:
    • VK_E

      public static final int VK_E
      “E”键的常量。
      参见:
    • VK_F

      public static final int VK_F
      “F”键的常量。
      参见:
    • VK_G

      public static final int VK_G
      “G”键的常量。
      参见:
    • VK_H

      public static final int VK_H
      “H”键的常量。
      参见:
    • VK_I

      public static final int VK_I
      “I”键的常量。
      参见:
    • VK_J

      public static final int VK_J
      “J”键的常量。
      参见:
    • VK_K

      public static final int VK_K
      “K”键的常量。
      参见:
    • VK_L

      public static final int VK_L
      “L”键的常量。
      参见:
    • VK_M

      public static final int VK_M
      “M”键的常量。
      参见:
    • VK_N

      public static final int VK_N
      “N”键的常量。
      参见:
    • VK_O

      public static final int VK_O
      “O”键的常量。
      参见:
    • VK_P

      public static final int VK_P
      “P”键的常量。
      参见:
    • VK_Q

      public static final int VK_Q
      “Q”键的常量。
      参见:
    • VK_R

      public static final int VK_R
      “R”键的常量。
      参见:
    • VK_S

      public static final int VK_S
      “S”键的常量。
      参见:
    • VK_T

      public static final int VK_T
      “T”键的常量。
      参见:
    • VK_U

      public static final int VK_U
      “U”键的常量。
      参见:
    • VK_V

      public static final int VK_V
      “V”键的常量。
      参见:
    • VK_W

      public static final int VK_W
      “W”键的常量。
      参见:
    • VK_X

      public static final int VK_X
      “X”键的常量。
      参见:
    • VK_Y

      public static final int VK_Y
      “Y”键的常量。
      参见:
    • VK_Z

      public static final int VK_Z
      “Z”键的常量。
      参见:
    • VK_OPEN_BRACKET

      public static final int VK_OPEN_BRACKET
      左括号键的常量,“[”
      参见:
    • VK_BACK_SLASH

      public static final int VK_BACK_SLASH
      反斜杠键常量,“\”
      参见:
    • VK_CLOSE_BRACKET

      public static final int VK_CLOSE_BRACKET
      右括号键的常量,“]”
      参见:
    • VK_NUMPAD0

      public static final int VK_NUMPAD0
      数字键盘“0”键的常量。
      参见:
    • VK_NUMPAD1

      public static final int VK_NUMPAD1
      数字键盘“1”键的常量。
      参见:
    • VK_NUMPAD2

      public static final int VK_NUMPAD2
      数字键盘“2”键的常量。
      参见:
    • VK_NUMPAD3

      public static final int VK_NUMPAD3
      数字键盘“3”键的常量。
      参见:
    • VK_NUMPAD4

      public static final int VK_NUMPAD4
      数字键盘“4”键的常量。
      参见:
    • VK_NUMPAD5

      public static final int VK_NUMPAD5
      数字键盘“5”键的常量。
      参见:
    • VK_NUMPAD6

      public static final int VK_NUMPAD6
      数字键盘“6”键的常量。
      参见:
    • VK_NUMPAD7

      public static final int VK_NUMPAD7
      数字键盘“7”键的常量。
      参见:
    • VK_NUMPAD8

      public static final int VK_NUMPAD8
      数字键盘“8”键的常量。
      参见:
    • VK_NUMPAD9

      public static final int VK_NUMPAD9
      数字键盘“9”键的常量。
      参见:
    • VK_MULTIPLY

      public static final int VK_MULTIPLY
      数字键盘乘法键的常量。
      参见:
    • VK_ADD

      public static final int VK_ADD
      数字键盘添加键的常量。
      参见:
    • VK_SEPARATER

      public static final int VK_SEPARATER
      此常量已过时,包含在内只是为了向后兼容。
      参见:
    • VK_SEPARATOR

      public static final int VK_SEPARATOR
      Numpad Separator 键的常量。
      自从:
      1.4
      参见:
    • VK_SUBTRACT

      public static final int VK_SUBTRACT
      数字键盘减法键的常量。
      参见:
    • VK_DECIMAL

      public static final int VK_DECIMAL
      数字键盘小数点键的常量。
      参见:
    • VK_DIVIDE

      public static final int VK_DIVIDE
      数字键盘除键的常量。
      参见:
    • VK_DELETE

      public static final int VK_DELETE
      删除键的常量。
      参见:
    • VK_NUM_LOCK

      public static final int VK_NUM_LOCK
      NUM_LOCK 键的常量。
      参见:
    • VK_SCROLL_LOCK

      public static final int VK_SCROLL_LOCK
      SCROLL_LOCK 键的常量。
      参见:
    • VK_F1

      public static final int VK_F1
      F1 功能键的常量。
      参见:
    • VK_F2

      public static final int VK_F2
      F2 功能键的常量。
      参见:
    • VK_F3

      public static final int VK_F3
      F3 功能键的常量。
      参见:
    • VK_F4

      public static final int VK_F4
      F4 功能键的常量。
      参见:
    • VK_F5

      public static final int VK_F5
      F5 功能键的常量。
      参见:
    • VK_F6

      public static final int VK_F6
      F6 功能键的常量。
      参见:
    • VK_F7

      public static final int VK_F7
      F7 功能键的常量。
      参见:
    • VK_F8

      public static final int VK_F8
      F8 功能键的常量。
      参见:
    • VK_F9

      public static final int VK_F9
      F9 功能键的常量。
      参见:
    • VK_F10

      public static final int VK_F10
      F10 功能键的常量。
      参见:
    • VK_F11

      public static final int VK_F11
      F11 功能键的常量。
      参见:
    • VK_F12

      public static final int VK_F12
      F12 功能键的常量。
      参见:
    • VK_F13

      public static final int VK_F13
      F13 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F14

      public static final int VK_F14
      F14 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F15

      public static final int VK_F15
      F15 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F16

      public static final int VK_F16
      F16 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F17

      public static final int VK_F17
      F17 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F18

      public static final int VK_F18
      F18 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F19

      public static final int VK_F19
      F19 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F20

      public static final int VK_F20
      F20 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F21

      public static final int VK_F21
      F21 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F22

      public static final int VK_F22
      F22 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F23

      public static final int VK_F23
      F23 功能键的常量。
      自从:
      1.2
      参见:
    • VK_F24

      public static final int VK_F24
      F24 功能键的常量。
      自从:
      1.2
      参见:
    • VK_PRINTSCREEN

      public static final int VK_PRINTSCREEN
      PRINTSCREEN 键的常量。
      参见:
    • VK_INSERT

      public static final int VK_INSERT
      INSERT 键的常量。
      参见:
    • VK_HELP

      public static final int VK_HELP
      帮助键的常量。
      参见:
    • VK_META

      public static final int VK_META
      META 键的常量。
      参见:
    • VK_BACK_QUOTE

      public static final int VK_BACK_QUOTE
      BACK_QUOTE 键的常量。
      参见:
    • VK_QUOTE

      public static final int VK_QUOTE
      QUOTE 键的常量。
      参见:
    • VK_KP_UP

      public static final int VK_KP_UP
      数字键盘常量向上箭头键。
      自从:
      1.2
      参见:
    • VK_KP_DOWN

      public static final int VK_KP_DOWN
      数字键盘常量向下箭头键。
      自从:
      1.2
      参见:
    • VK_KP_LEFT

      public static final int VK_KP_LEFT
      数字键盘常量left箭头键。
      自从:
      1.2
      参见:
    • VK_KP_RIGHT

      public static final int VK_KP_RIGHT
      数字键盘常量right箭头键。
      自从:
      1.2
      参见:
    • VK_DEAD_GRAVE

      public static final int VK_DEAD_GRAVE
      Dead Grave 钥匙的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_ACUTE

      public static final int VK_DEAD_ACUTE
      Dead Acute 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_CIRCUMFLEX

      public static final int VK_DEAD_CIRCUMFLEX
      Dead Circumflex 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_TILDE

      public static final int VK_DEAD_TILDE
      Dead Tilde 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_MACRON

      public static final int VK_DEAD_MACRON
      Dead Macron 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_BREVE

      public static final int VK_DEAD_BREVE
      Dead Breve 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_ABOVEDOT

      public static final int VK_DEAD_ABOVEDOT
      Dead Above Dot 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_DIAERESIS

      public static final int VK_DEAD_DIAERESIS
      Dead Diaresis 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_ABOVERING

      public static final int VK_DEAD_ABOVERING
      Dead Above Ring 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_DOUBLEACUTE

      public static final int VK_DEAD_DOUBLEACUTE
      Dead Double Acute 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_CARON

      public static final int VK_DEAD_CARON
      Dead Caron 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_CEDILLA

      public static final int VK_DEAD_CEDILLA
      Dead Cedilla 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_OGONEK

      public static final int VK_DEAD_OGONEK
      Dead Ogonek 密钥的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_IOTA

      public static final int VK_DEAD_IOTA
      Dead Iota 密钥的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_VOICED_SOUND

      public static final int VK_DEAD_VOICED_SOUND
      Dead Voiced Sound 键的常量。
      自从:
      1.2
      参见:
    • VK_DEAD_SEMIVOICED_SOUND

      public static final int VK_DEAD_SEMIVOICED_SOUND
      Dead Semivoiced Sound 键的常量。
      自从:
      1.2
      参见:
    • VK_AMPERSAND

      public static final int VK_AMPERSAND
      “&”键的常量。
      自从:
      1.2
      参见:
    • VK_ASTERISK

      public static final int VK_ASTERISK
      “*”键的常量。
      自从:
      1.2
      参见:
    • VK_QUOTEDBL

      public static final int VK_QUOTEDBL
      “”“”键的常量。
      自从:
      1.2
      参见:
    • VK_LESS

      public static final int VK_LESS
      “<”键的常量。
      自从:
      1.2
      参见:
    • VK_GREATER

      public static final int VK_GREATER
      “>”键的常量。
      自从:
      1.2
      参见:
    • VK_BRACELEFT

      public static final int VK_BRACELEFT
      “{”键的常量。
      自从:
      1.2
      参见:
    • VK_BRACERIGHT

      public static final int VK_BRACERIGHT
      “}”键的常量。
      自从:
      1.2
      参见:
    • VK_AT

      public static final int VK_AT
      “@”键的常量。
      自从:
      1.2
      参见:
    • VK_COLON

      public static final int VK_COLON
      “:”键的常量。
      自从:
      1.2
      参见:
    • VK_CIRCUMFLEX

      public static final int VK_CIRCUMFLEX
      “^”键的常量。
      自从:
      1.2
      参见:
    • VK_DOLLAR

      public static final int VK_DOLLAR
      “$”键的常量。
      自从:
      1.2
      参见:
    • VK_EURO_SIGN

      public static final int VK_EURO_SIGN
      欧元货币符号键的常量。
      自从:
      1.2
      参见:
    • VK_EXCLAMATION_MARK

      public static final int VK_EXCLAMATION_MARK
      常数为“!”钥匙。
      自从:
      1.2
      参见:
    • VK_INVERTED_EXCLAMATION_MARK

      public static final int VK_INVERTED_EXCLAMATION_MARK
      倒置感叹号键的常量。
      自从:
      1.2
      参见:
    • VK_LEFT_PARENTHESIS

      public static final int VK_LEFT_PARENTHESIS
      “(”键的常量。
      自从:
      1.2
      参见:
    • VK_NUMBER_SIGN

      public static final int VK_NUMBER_SIGN
      “#”键的常量。
      自从:
      1.2
      参见:
    • VK_PLUS

      public static final int VK_PLUS
      “+”键的常量。
      自从:
      1.2
      参见:
    • VK_RIGHT_PARENTHESIS

      public static final int VK_RIGHT_PARENTHESIS
      “)”键的常量。
      自从:
      1.2
      参见:
    • VK_UNDERSCORE

      public static final int VK_UNDERSCORE
      “_”键的常量。
      自从:
      1.2
      参见:
    • VK_WINDOWS

      public static final int VK_WINDOWS
      Microsoft Windows“Windows”键的常量。它用于密钥的左右版本。
      自从:
      1.5
      参见:
    • VK_CONTEXT_MENU

      public static final int VK_CONTEXT_MENU
      Microsoft Windows 上下文菜单键的常量。
      自从:
      1.5
      参见:
    • VK_FINAL

      public static final int VK_FINAL
      FINAL 键的常量。
      参见:
    • VK_CONVERT

      public static final int VK_CONVERT
      Convert 功能键的常量。
      参见:
    • VK_NONCONVERT

      public static final int VK_NONCONVERT
      “不转换”功能键的常量。
      参见:
    • VK_ACCEPT

      public static final int VK_ACCEPT
      接受或提交功能键的常量。
      参见:
    • VK_MODECHANGE

      public static final int VK_MODECHANGE
      MODECHANGE 键的常量。
      参见:
    • VK_KANA

      public static final int VK_KANA
      KANA 锁定密钥的常量。
      参见:
    • VK_KANJI

      public static final int VK_KANJI
      KANJI 的常量。
      参见:
    • VK_ALPHANUMERIC

      public static final int VK_ALPHANUMERIC
      字母数字功能键的常量。
      自从:
      1.2
      参见:
    • VK_KATAKANA

      public static final int VK_KATAKANA
      片假名功能键的常量。
      自从:
      1.2
      参见:
    • VK_HIRAGANA

      public static final int VK_HIRAGANA
      平假名功能键的常量。
      自从:
      1.2
      参见:
    • VK_FULL_WIDTH

      public static final int VK_FULL_WIDTH
      全角字符功能键的常量。
      自从:
      1.2
      参见:
    • VK_HALF_WIDTH

      public static final int VK_HALF_WIDTH
      半角字符功能键的常量。
      自从:
      1.2
      参见:
    • VK_ROMAN_CHARACTERS

      public static final int VK_ROMAN_CHARACTERS
      罗马字符功能键的常量。
      自从:
      1.2
      参见:
    • VK_ALL_CANDIDATES

      public static final int VK_ALL_CANDIDATES
      All Candidates 功能键的常量。
      自从:
      1.2
      参见:
    • VK_PREVIOUS_CANDIDATE

      public static final int VK_PREVIOUS_CANDIDATE
      Previous Candidate 功能键的常量。
      自从:
      1.2
      参见:
    • VK_CODE_INPUT

      public static final int VK_CODE_INPUT
      代码输入功能键的常量。
      自从:
      1.2
      参见:
    • VK_JAPANESE_KATAKANA

      public static final int VK_JAPANESE_KATAKANA
      日语片假名功能键的常量。该键切换到日文输入方法并选择其片假名输入模式。
      自从:
      1.2
      参见:
    • VK_JAPANESE_HIRAGANA

      public static final int VK_JAPANESE_HIRAGANA
      日语-平假名功能键的常量。该键切换到日文输入方法并选择其平假名输入模式。
      自从:
      1.2
      参见:
    • VK_JAPANESE_ROMAN

      public static final int VK_JAPANESE_ROMAN
      日语-罗马功能键的常量。该键切换到日文输入方法并选择其 Roman-Direct 输入模式。
      自从:
      1.2
      参见:
    • VK_KANA_LOCK

      public static final int VK_KANA_LOCK
      锁定假名功能键的常量。此键将键盘锁定为假名布局。
      自从:
      1.3
      参见:
    • VK_INPUT_METHOD_ON_OFF

      public static final int VK_INPUT_METHOD_ON_OFF
      输入方法开/关键的常量。
      自从:
      1.3
      参见:
    • VK_CUT

      public static final int VK_CUT
      Cut 键的常量。
      自从:
      1.2
      参见:
    • VK_COPY

      public static final int VK_COPY
      复制键的常量。
      自从:
      1.2
      参见:
    • VK_PASTE

      public static final int VK_PASTE
      粘贴键的常量。
      自从:
      1.2
      参见:
    • VK_UNDO

      public static final int VK_UNDO
      撤消键的常量。
      自从:
      1.2
      参见:
    • VK_AGAIN

      public static final int VK_AGAIN
      Again 键的常量。
      自从:
      1.2
      参见:
    • VK_FIND

      public static final int VK_FIND
      Find 键的常量。
      自从:
      1.2
      参见:
    • VK_PROPS

      public static final int VK_PROPS
      Props 键的常量。
      自从:
      1.2
      参见:
    • VK_STOP

      public static final int VK_STOP
      停止键的常量。
      自从:
      1.2
      参见:
    • VK_COMPOSE

      public static final int VK_COMPOSE
      Compose 功能键的常量。
      自从:
      1.2
      参见:
    • VK_ALT_GRAPH

      public static final int VK_ALT_GRAPH
      AltGraph 功能键的常量。
      自从:
      1.2
      参见:
    • VK_BEGIN

      public static final int VK_BEGIN
      Begin 键的常量。
      自从:
      1.5
      参见:
    • VK_UNDEFINED

      public static final int VK_UNDEFINED
      该值用于指示 keyCode 未知。 KEY_TYPED 事件没有 keyCode 值;而是使用此值。
      参见:
    • CHAR_UNDEFINED

      public static final char CHAR_UNDEFINED
      未映射到有效 Unicode 字符的 KEY_PRESSED 和 KEY_RELEASED 事件将其用于 keyChar 值。
      参见:
    • KEY_LOCATION_UNKNOWN

      public static final int KEY_LOCATION_UNKNOWN
      一个常量,指示 keyLocation 不确定或不相关。 KEY_TYPED 事件没有 keyLocation;而是使用此值。
      自从:
      1.4
      参见:
    • KEY_LOCATION_STANDARD

      public static final int KEY_LOCATION_STANDARD
      一个常量,指示按下或释放的键不区分为键的左版本或右版本,并且不源自数字小键盘(或不源自与数字小键盘对应的虚拟键)。
      自从:
      1.4
      参见:
    • KEY_LOCATION_LEFT

      public static final int KEY_LOCATION_LEFT
      一个常量,指示按下或释放的键位于左键位置(此键有多个可能的位置)。示例:左移键。
      自从:
      1.4
      参见:
    • KEY_LOCATION_RIGHT

      public static final int KEY_LOCATION_RIGHT
      一个常量,指示按下或释放的键位于正确的键位置(此键有多个可能的位置)。示例:右移键。
      自从:
      1.4
      参见:
    • KEY_LOCATION_NUMPAD

      public static final int KEY_LOCATION_NUMPAD
      一个常量,指示按键事件源自数字小键盘或与数字小键盘对应的虚拟键。
      自从:
      1.4
      参见:
  • 构造方法详细信息

    • 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 - 一个长整数,指定事件发生的时间。不建议传递负值或零值
      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_RIGHTKEY_LOCATION_NUMPAD
      抛出:
      IllegalArgumentException - 如果 idKEY_TYPED 并且 keyCharCHAR_UNDEFINED ;或者如果 idKEY_TYPEDkeyCode 不是 VK_UNDEFINED ;或者如果 idKEY_TYPEDkeyLocation 不是 KEY_LOCATION_UNKNOWN ;或者如果 keyLocation 不是上面列举的合法值之一。
      IllegalArgumentException - 如果 source 为空
      自从:
      1.4
      参见:
    • KeyEvent

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

      如果 sourcenull,此方法将抛出 IllegalArgumentException

      参数:
      source - 发起事件的 Component
      id - 表示事件类型的整数。有关允许值的信息,请参阅 KeyEvent 的类描述
      when - 一个长整数,指定事件发生的时间。不建议传递负值或零值
      modifiers - 在事件期间按下修饰键(shift、ctrl、alt、meta)。不建议传递负值。零值意味着没有传递修饰符。使用扩展的 _DOWN_MASK 或旧的 _MASK 修饰符,但不要在一个事件中混合模型。扩展修饰符更适合使用
      keyCode - 实际键的整数代码,或 VK_UNDEFINED(对于键类型事件)
      keyChar - 此事件生成的 Unicode 字符,或 CHAR_UNDEFINED(对于未映射到有效 Unicode 字符的按键和释放事件)
      抛出:
      IllegalArgumentException - 如果 idKEY_TYPED 并且 keyCharCHAR_UNDEFINED ;或者如果 idKEY_TYPEDkeyCode 不是 VK_UNDEFINED
      IllegalArgumentException - 如果 source 为空
      参见:
    • 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 - 一个字符,对应于构成此事件的击键组合。
    • setModifiers

      @Deprecated public void setModifiers(int modifiers)
      已弃用。
      从 JDK1.1.4 开始
      设置修饰符以指示按住的其他键(例如 shift、ctrl、alt、meta)定义为 InputEvent 的一部分。

      注意:不推荐使用此方法,因为许多 AWT 实现不识别修饰符更改。这对于 KEY_TYPED 移位修饰符发生变化的事件尤其如此。

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

      public int getKeyLocation()
      返回发起此键事件的键的位置。一些键在键盘上出现不止一次,例如左移键和右移键。此外,一些键出现在数字键盘上。这提供了一种区分此类密钥的方法。
      返回:
      按下或释放的键的位置。始终为 KEY_TYPED 事件返回 KEY_LOCATION_UNKNOWN
      自从:
      1.4
    • getKeyText

      public static String  getKeyText(int keyCode)
      返回描述 keyCode 的字符串,例如“HOME”、“F1”或“A”。可以通过更改 awt.properties 文件来本地化这些字符串。
      参数:
      keyCode - 要返回其描述的密钥
      返回:
      包含物理键文本描述的字符串,由其 keyCode 标识
    • getKeyModifiersText

      @Deprecated (since ="9") public static String  getKeyModifiersText(int modifiers)
      已弃用。
      建议改用扩展修饰键和InputEvent.getModifiersExText(int)
      返回描述修饰键的 String,例如“Shift”或“Ctrl+Shift”。这些字符串可以通过更改 awt.properties 文件进行本地化。

      请注意,InputEvent.ALT_MASKInputEvent.BUTTON2_MASK 具有相同的值,因此两个修饰符都返回字符串“Alt”。同样,InputEvent.META_MASKInputEvent.BUTTON3_MASK 具有相同的值,因此两个修饰符都返回字符串“Meta”。

      参数:
      modifiers - 要处理的修改器掩码
      返回:
      string 事件期间按住的修改键组合的文本描述
      参见:
    • isActionKey

      public boolean isActionKey()
      返回此事件中的键是否为“操作”键。通常,操作键不会触发 unicode 字符,也不是修饰键。
      返回:
      true 如果键是“操作”键,false 否则
    • paramString

      public String  paramString()
      返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。
      重写:
      paramString 在类 ComponentEvent
      返回:
      标识事件及其属性的字符串
    • getExtendedKeyCode

      public int getExtendedKeyCode()
      返回事件的扩展键码。扩展键代码是分配给键盘上某个键的唯一 ID,就像 keyCode 一样。但是,与 keyCode 不同,此值取决于当前的键盘布局。例如,在常见的英文布局中按左上方的字母键会产生与 keyCodeVK_Q 相同的值。在常规俄语布局中按下相同的键会给出另一个代码,该代码对于字母“西里尔字母 I short”是唯一的。
      返回:
      事件的扩展密钥代码
      自从:
      1.7
    • getExtendedKeyCodeForChar

      public static int getExtendedKeyCodeForChar(int c)
      返回 unicode 字符的扩展键码。
      参数:
      c - 要处理的 unicode 字符
      返回:
      对于具有相应 VK_ 常量的 unicode 字符——这个 VK_ 常量;对于出现在已知键盘布局的主要级别上的字符——一个唯一的整数。如果字符未出现在已知键盘的主要级别上,则返回 VK_UNDEFINED
      自从:
      1.7