JavaTM Platform
Standard Ed. 6

java.awt.event
类 KeyEvent

java.lang.Object
  继承者 java.util.EventObject
      继承者 java.awt.AWTEvent
          继承者 java.awt.event.ComponentEvent
              继承者 java.awt.event.InputEvent
                  继承者 java.awt.event.KeyEvent
所有已实现的接口:
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。

“按下键”和“释放键”事件 是低级别事件,依赖于平台和键盘布局。只要按下或释放键就生成这些事件,它们是发现不生成字符输入的键(如动作键、修改键等等)的惟一方式。通过 getKeyCode 方法可指出按下或释放的键,该方法返回一个虚拟键码。

虚拟键码 用于报告按下了键盘上的哪个键,而不是一次或多次键击组合生成的字符(如 "A" 是由 shift + "a" 生成的)。

例如,按下 Shift 键会生成 keyCode 为 VK_SHIFT 的 KEY_PRESSED 事件,而按下 'a' 键将生成 keyCode 为 VK_A 的 KEY_PRESSED 事件。释放 'a' 键后,会激发 keyCode 为 VK_A 的 KEY_RELEASED 事件。另外,还会生成一个 keyChar 值为 'A' 的 KEY_TYPED 事件。

按下和释放键盘上的键会导致(依次)生成以下键事件:

    KEY_PRESSED
    KEY_TYPED(只在可生成有效 Unicode 字符时产生。)
    KEY_RELEASED
 
但在某些情况下(例如,在激活自动重复或输入方法时),该顺序可能会有所不同(并且与平台有关)。

注:

警告:除了 Java 语言定义的这些键之外(VK_ENTER、VK_BACK_SPACE 和 VK_TAB),不要依赖 VK_ 常量值。Sun 保留将来根据需要更改这些值的权利,以适应更大范围的键盘。

从以下版本开始:
1.1
另请参见:
KeyAdapter, KeyListener, Tutorial: Writing a Key Listener, 序列化表格

字段摘要
static char CHAR_UNDEFINED
          KEY_PRESSED 和 KEY_RELEASED 事件没有映射到一个有效的 Unicode 字符时使用此值作为 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
          VK_0 到 VK_9 与 ASCII 的‘0’到‘9’(0x30 - 0x39) 相同
static int VK_1
           
static int VK_2
           
static int VK_3
           
static int VK_4
           
static int VK_5
           
static int VK_6
           
static int VK_7
           
static int VK_8
           
static int VK_9
           
static int VK_A
          VK_A 到 VK_Z 与 ASCII 的‘A’到‘Z’(0x41 - 0x5A) 相同
static int VK_ACCEPT
          用于 Accept 或 Commit 功能键的常量。
static int VK_ADD
           
static int VK_AGAIN
           
static int VK_ALL_CANDIDATES
          用于 All Candidates 功能键的常量。
static int VK_ALPHANUMERIC
          用于 Alphanumeric 功能键的常量。
static int VK_ALT
           
static int VK_ALT_GRAPH
          用于 AltGraph 功能键的常量。
static int VK_AMPERSAND
           
static int VK_ASTERISK
           
static int VK_AT
          用于 "@" 键的常量。
static int VK_B
           
static int VK_BACK_QUOTE
           
static int VK_BACK_SLASH
          用于反斜杠键 "\" 的常量。
static int VK_BACK_SPACE
           
static int VK_BEGIN
          用于 Begin 键的常量。
static int VK_BRACELEFT
           
static int VK_BRACERIGHT
           
static int VK_C
           
static int VK_CANCEL
           
static int VK_CAPS_LOCK
           
static int VK_CIRCUMFLEX
          用于 "^" 键的常量。
static int VK_CLEAR
           
static int VK_CLOSE_BRACKET
          用于右方括号键 "]" 的常量。
static int VK_CODE_INPUT
          用于 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
           
static int VK_CONVERT
          用于 Convert 功能键的常量。
static int VK_COPY
           
static int VK_CUT
           
static int VK_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
           
static int VK_END
           
static int VK_ENTER
           
static int VK_EQUALS
          用于等号键 "=" 的常量。
static int VK_ESCAPE
           
static int VK_EURO_SIGN
          用于欧洲货币符号键的常量。
static int VK_EXCLAMATION_MARK
          用于 "!" 键的常量。
static int VK_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
           
static int VK_FIND
           
static int VK_FULL_WIDTH
          用于 Full-Width Characters 功能键的常量。
static int VK_G
           
static int VK_GREATER
           
static int VK_H
           
static int VK_HALF_WIDTH
          用于 Half-Width Characters 功能键的常量。
static int VK_HELP
           
static int VK_HIRAGANA
          用于 Hiragana 功能键的常量。
static int VK_HOME
           
static int VK_I
           
static int VK_INPUT_METHOD_ON_OFF
          用于输入法开/关键的常量。
static int VK_INSERT
           
static int VK_INVERTED_EXCLAMATION_MARK
          用于反向感叹号键的常量。
static int VK_J
           
static int VK_JAPANESE_HIRAGANA
          用于 Japanese-Hiragana 功能键的常量。
static int VK_JAPANESE_KATAKANA
          用于 Japanese-Katakana 功能键的常量。
static int VK_JAPANESE_ROMAN
          用于 Japanese-Roman 功能键的常量。
static int VK_K
           
static int VK_KANA
           
static int VK_KANA_LOCK
          用于锁定 Kana 功能键的常量。
static int VK_KANJI
           
static int VK_KATAKANA
          用于 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
           
static int VK_LEFT
          用于非数字键盘向左方向键的常量。
static int VK_LEFT_PARENTHESIS
          用于 "(" 键的常量。
static int VK_LESS
           
static int VK_M
           
static int VK_META
           
static int VK_MINUS
          用于减号键 "-" 的常量
static int VK_MODECHANGE
           
static int VK_MULTIPLY
           
static int VK_N
           
static int VK_NONCONVERT
          用于 Don't Convert 功能键的常量。
static int VK_NUM_LOCK
           
static int VK_NUMBER_SIGN
          用于 "#" 键的常量。
static int VK_NUMPAD0
           
static int VK_NUMPAD1
           
static int VK_NUMPAD2
           
static int VK_NUMPAD3
           
static int VK_NUMPAD4
           
static int VK_NUMPAD5
           
static int VK_NUMPAD6
           
static int VK_NUMPAD7
           
static int VK_NUMPAD8
           
static int VK_NUMPAD9
           
static int VK_O
           
static int VK_OPEN_BRACKET
          用于左方括号键 "[" 的常量。
static int VK_P
           
static int VK_PAGE_DOWN
           
static int VK_PAGE_UP
           
static int VK_PASTE
           
static int VK_PAUSE
           
static int VK_PERIOD
          用于句点键 "." 的常量。
static int VK_PLUS
          用于 "+" 键的常量。
static int VK_PREVIOUS_CANDIDATE
          用于 Previous Candidate 功能键的常量。
static int VK_PRINTSCREEN
           
static int VK_PROPS
           
static int VK_Q
           
static int VK_QUOTE
           
static int VK_QUOTEDBL
           
static int VK_R
           
static int VK_RIGHT
          用于非数字键盘向右方向键的常量。
static int VK_RIGHT_PARENTHESIS
          用于 ")" 键的常量。
static int VK_ROMAN_CHARACTERS
          用于 Roman Characters 功能键的常量。
static int VK_S
           
static int VK_SCROLL_LOCK
           
static int VK_SEMICOLON
          用于分号键 ";" 的常量。
static int VK_SEPARATER
          此常量已废弃,包括它仅为了向后兼容。
static int VK_SEPARATOR
          用于数字键盘分隔符键的常量。
static int VK_SHIFT
           
static int VK_SLASH
          用于正斜杠键 "/" 的常量。
static int VK_SPACE
           
static int VK_STOP
           
static int VK_SUBTRACT
           
static int VK_T
           
static int VK_TAB
           
static int VK_U
           
static int VK_UNDEFINED
          此值用于指出 keyCode 是未知的。
static int VK_UNDERSCORE
          用于 "_" 键的常量。
static int VK_UNDO
           
static int VK_UP
          用于非数字键盘向上方向键的常量。
static int VK_V
           
static int VK_W
           
static int VK_WINDOWS
          用于 Microsoft Windows 的 "Windows" 键的常量。
static int VK_X
           
static int VK_Y
           
static int VK_Z
           
 
从类 java.awt.event.InputEvent 继承的字段
ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK
 
从类 java.awt.event.ComponentEvent 继承的字段
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
 
从类 java.awt.AWTEvent 继承的字段
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
 
从类 java.util.EventObject 继承的字段
source
 
构造方法摘要
KeyEvent(Component source, int id, long when, int modifiers, int keyCode)
          已过时。 从 JDK1.1 开始
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)
           
 
方法摘要
 char getKeyChar()
          返回与此事件中的键关联的字符。
 int getKeyCode()
          返回与此事件中的键关联的整数 keyCode。
 int getKeyLocation()
          返回产生此按键事件的键位置。
static String getKeyModifiersText(int modifiers)
          返回描述修改键的 String,如 "Shift" 或 "Ctrl+Shift"。
static String getKeyText(int keyCode)
          返回描述 keyCode 的 String,如 "HOME"、"F1" 或 "A"。
 boolean isActionKey()
          返回此事件中的键是否为“动作”键。
 String paramString()
          返回标识此事件的参数字符串。
 void setKeyChar(char keyChar)
          设置 keyCode 值,以表示某个逻辑字符。
 void setKeyCode(int keyCode)
          设置 keyCode 值,以表示某个物理键。
 void setModifiers(int modifiers)
          已过时。 从 JDK1.1.4 开始
 
从类 java.awt.event.InputEvent 继承的方法
consume, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
 
从类 java.awt.event.ComponentEvent 继承的方法
getComponent
 
从类 java.awt.AWTEvent 继承的方法
getID, setSource, toString
 
从类 java.util.EventObject 继承的方法
getSource
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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
另请参见:
常量字段值

VK_BACK_SPACE

public static final int VK_BACK_SPACE
另请参见:
常量字段值

VK_TAB

public static final int VK_TAB
另请参见:
常量字段值

VK_CANCEL

public static final int VK_CANCEL
另请参见:
常量字段值

VK_CLEAR

public static final int VK_CLEAR
另请参见:
常量字段值

VK_SHIFT

public static final int VK_SHIFT
另请参见:
常量字段值

VK_CONTROL

public static final int VK_CONTROL
另请参见:
常量字段值

VK_ALT

public static final int VK_ALT
另请参见:
常量字段值

VK_PAUSE

public static final int VK_PAUSE
另请参见:
常量字段值

VK_CAPS_LOCK

public static final int VK_CAPS_LOCK
另请参见:
常量字段值

VK_ESCAPE

public static final int VK_ESCAPE
另请参见:
常量字段值

VK_SPACE

public static final int VK_SPACE
另请参见:
常量字段值

VK_PAGE_UP

public static final int VK_PAGE_UP
另请参见:
常量字段值

VK_PAGE_DOWN

public static final int VK_PAGE_DOWN
另请参见:
常量字段值

VK_END

public static final int VK_END
另请参见:
常量字段值

VK_HOME

public static final int VK_HOME
另请参见:
常量字段值

VK_LEFT

public static final int VK_LEFT
用于非数字键盘 向左方向键的常量。

另请参见:
VK_KP_LEFT, 常量字段值

VK_UP

public static final int VK_UP
用于非数字键盘 向上方向键的常量。

另请参见:
VK_KP_UP, 常量字段值

VK_RIGHT

public static final int VK_RIGHT
用于非数字键盘 向右方向键的常量。

另请参见:
VK_KP_RIGHT, 常量字段值

VK_DOWN

public static final int VK_DOWN
用于非数字键盘 向下方向键的常量。

另请参见:
VK_KP_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
VK_0 到 VK_9 与 ASCII 的‘0’到‘9’(0x30 - 0x39) 相同

另请参见:
常量字段值

VK_1

public static final int VK_1
另请参见:
常量字段值

VK_2

public static final int VK_2
另请参见:
常量字段值

VK_3

public static final int VK_3
另请参见:
常量字段值

VK_4

public static final int VK_4
另请参见:
常量字段值

VK_5

public static final int VK_5
另请参见:
常量字段值

VK_6

public static final int VK_6
另请参见:
常量字段值

VK_7

public static final int VK_7
另请参见:
常量字段值

VK_8

public static final int VK_8
另请参见:
常量字段值

VK_9

public static final int VK_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
VK_A 到 VK_Z 与 ASCII 的‘A’到‘Z’(0x41 - 0x5A) 相同

另请参见:
常量字段值

VK_B

public static final int VK_B
另请参见:
常量字段值

VK_C

public static final int VK_C
另请参见:
常量字段值

VK_D

public static final int VK_D
另请参见:
常量字段值

VK_E

public static final int VK_E
另请参见:
常量字段值

VK_F

public static final int VK_F
另请参见:
常量字段值

VK_G

public static final int VK_G
另请参见:
常量字段值

VK_H

public static final int VK_H
另请参见:
常量字段值

VK_I

public static final int VK_I
另请参见:
常量字段值

VK_J

public static final int VK_J
另请参见:
常量字段值

VK_K

public static final int VK_K
另请参见:
常量字段值

VK_L

public static final int VK_L
另请参见:
常量字段值

VK_M

public static final int VK_M
另请参见:
常量字段值

VK_N

public static final int VK_N
另请参见:
常量字段值

VK_O

public static final int VK_O
另请参见:
常量字段值

VK_P

public static final int VK_P
另请参见:
常量字段值

VK_Q

public static final int VK_Q
另请参见:
常量字段值

VK_R

public static final int VK_R
另请参见:
常量字段值

VK_S

public static final int VK_S
另请参见:
常量字段值

VK_T

public static final int VK_T
另请参见:
常量字段值

VK_U

public static final int VK_U
另请参见:
常量字段值

VK_V

public static final int VK_V
另请参见:
常量字段值

VK_W

public static final int VK_W
另请参见:
常量字段值

VK_X

public static final int VK_X
另请参见:
常量字段值

VK_Y

public static final int VK_Y
另请参见:
常量字段值

VK_Z

public static final int VK_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
另请参见:
常量字段值

VK_NUMPAD1

public static final int VK_NUMPAD1
另请参见:
常量字段值

VK_NUMPAD2

public static final int VK_NUMPAD2
另请参见:
常量字段值

VK_NUMPAD3

public static final int VK_NUMPAD3
另请参见:
常量字段值

VK_NUMPAD4

public static final int VK_NUMPAD4
另请参见:
常量字段值

VK_NUMPAD5

public static final int VK_NUMPAD5
另请参见:
常量字段值

VK_NUMPAD6

public static final int VK_NUMPAD6
另请参见:
常量字段值

VK_NUMPAD7

public static final int VK_NUMPAD7
另请参见:
常量字段值

VK_NUMPAD8

public static final int VK_NUMPAD8
另请参见:
常量字段值

VK_NUMPAD9

public static final int VK_NUMPAD9
另请参见:
常量字段值

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, 常量字段值

VK_SEPARATOR

public static final int VK_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
另请参见:
常量字段值

VK_SCROLL_LOCK

public static final int VK_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
另请参见:
常量字段值

VK_INSERT

public static final int VK_INSERT
另请参见:
常量字段值

VK_HELP

public static final int VK_HELP
另请参见:
常量字段值

VK_META

public static final int VK_META
另请参见:
常量字段值

VK_BACK_QUOTE

public static final int VK_BACK_QUOTE
另请参见:
常量字段值

VK_QUOTE

public static final int VK_QUOTE
另请参见:
常量字段值

VK_KP_UP

public static final int VK_KP_UP
用于数字键盘 向上方向键的常量。

从以下版本开始:
1.2
另请参见:
VK_UP, 常量字段值

VK_KP_DOWN

public static final int VK_KP_DOWN
用于数字键盘 向下方向键的常量。

从以下版本开始:
1.2
另请参见:
VK_DOWN, 常量字段值

VK_KP_LEFT

public static final int VK_KP_LEFT
用于数字键盘 向左方向键的常量。

从以下版本开始:
1.2
另请参见:
VK_LEFT, 常量字段值

VK_KP_RIGHT

public static final int VK_KP_RIGHT
用于数字键盘 向右方向键的常量。

从以下版本开始:
1.2
另请参见:
VK_RIGHT, 常量字段值

VK_DEAD_GRAVE

public static final int VK_DEAD_GRAVE
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_ACUTE

public static final int VK_DEAD_ACUTE
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_CIRCUMFLEX

public static final int VK_DEAD_CIRCUMFLEX
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_TILDE

public static final int VK_DEAD_TILDE
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_MACRON

public static final int VK_DEAD_MACRON
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_BREVE

public static final int VK_DEAD_BREVE
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_ABOVEDOT

public static final int VK_DEAD_ABOVEDOT
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_DIAERESIS

public static final int VK_DEAD_DIAERESIS
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_ABOVERING

public static final int VK_DEAD_ABOVERING
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_DOUBLEACUTE

public static final int VK_DEAD_DOUBLEACUTE
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_CARON

public static final int VK_DEAD_CARON
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_CEDILLA

public static final int VK_DEAD_CEDILLA
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_OGONEK

public static final int VK_DEAD_OGONEK
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_IOTA

public static final int VK_DEAD_IOTA
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_VOICED_SOUND

public static final int VK_DEAD_VOICED_SOUND
从以下版本开始:
1.2
另请参见:
常量字段值

VK_DEAD_SEMIVOICED_SOUND

public static final int VK_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
另请参见:
getKeyLocation(), 常量字段值

VK_CONTEXT_MENU

public static final int VK_CONTEXT_MENU
用于 Microsoft Windows 上下文菜单键的常量。

从以下版本开始:
1.5
另请参见:
常量字段值

VK_FINAL

public static final int VK_FINAL
另请参见:
常量字段值

VK_CONVERT

public static final int VK_CONVERT
用于 Convert 功能键的常量。

另请参见:
常量字段值

VK_NONCONVERT

public static final int VK_NONCONVERT
用于 Don't Convert 功能键的常量。

另请参见:
常量字段值

VK_ACCEPT

public static final int VK_ACCEPT
用于 Accept 或 Commit 功能键的常量。

另请参见:
常量字段值

VK_MODECHANGE

public static final int VK_MODECHANGE
另请参见:
常量字段值

VK_KANA

public static final int VK_KANA
另请参见:
常量字段值

VK_KANJI

public static final int VK_KANJI
另请参见:
常量字段值

VK_ALPHANUMERIC

public static final int VK_ALPHANUMERIC
用于 Alphanumeric 功能键的常量。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_KATAKANA

public static final int VK_KATAKANA
用于 Katakana 功能键的常量。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_HIRAGANA

public static final int VK_HIRAGANA
用于 Hiragana 功能键的常量。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_FULL_WIDTH

public static final int VK_FULL_WIDTH
用于 Full-Width Characters 功能键的常量。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_HALF_WIDTH

public static final int VK_HALF_WIDTH
用于 Half-Width Characters 功能键的常量。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_ROMAN_CHARACTERS

public static final int VK_ROMAN_CHARACTERS
用于 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
用于 Code Input 功能键的常量。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_JAPANESE_KATAKANA

public static final int VK_JAPANESE_KATAKANA
用于 Japanese-Katakana 功能键的常量。此键可切换到日文输入法并选择其 Katakana 输入模式。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_JAPANESE_HIRAGANA

public static final int VK_JAPANESE_HIRAGANA
用于 Japanese-Hiragana 功能键的常量。此键可切换到日文输入法并选择其 Hiragana 输入模式。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_JAPANESE_ROMAN

public static final int VK_JAPANESE_ROMAN
用于 Japanese-Roman 功能键的常量。此键可切换到日文输入法并选择其 Roman-Direct 输入模式。

从以下版本开始:
1.2
另请参见:
常量字段值

VK_KANA_LOCK

public static final int VK_KANA_LOCK
用于锁定 Kana 功能键的常量。这将把键盘锁定在 Kana 布局。

从以下版本开始:
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
从以下版本开始:
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
从以下版本开始:
1.2
另请参见:
常量字段值

VK_FIND

public static final int VK_FIND
从以下版本开始:
1.2
另请参见:
常量字段值

VK_PROPS

public static final int VK_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
KEY_PRESSED 和 KEY_RELEASED 事件没有映射到一个有效的 Unicode 字符时使用此值作为 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
该常量指示按下或释放的键位于左侧(此键的位置有多种可能性)。示例:左侧的 shift 键。

从以下版本开始:
1.4
另请参见:
常量字段值

KEY_LOCATION_RIGHT

public static final int KEY_LOCATION_RIGHT
该常量指示按下或释放的键位于右侧(此键的位置有多种可能性)。示例:右侧的 shift 键。

从以下版本开始:
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

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

注意,传入无效的 id 将导致不明确的行为。如果 sourcenull,则此方法抛出 IllegalArgumentException

参数:
source - 产生事件的 Component
id - 标识事件类型的整数
when - 指定事件发生时间的 long 型整数
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 为 null

KeyEvent

@Deprecated
public KeyEvent(Component source,
                           int id,
                           long when,
                           int modifiers,
                           int keyCode)
已过时。  从 JDK1.1 开始

方法详细信息

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)
设置 keyCode 值,以表示某个逻辑字符。

参数:
keyChar - 与构成此事件的键击组合相对应的 char 值。

setModifiers

@Deprecated
public void setModifiers(int modifiers)
已过时。  从 JDK1.1.4 开始

设置修饰符,以指出所按住的修改键(例如 shift、ctrl、alt、meta),该动作被定义为 InputEvent 的一部分。

注:因为很多 AWT 实现不识别修饰符的改变,所以不推荐使用此方法。对于其中更改了 shift 修饰符的 KEY_TYPED 事件更是如此。

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

getKeyLocation

public int getKeyLocation()
返回产生此按键事件的键位置。 某些键在键盘上出现多次,如左右 shift 键。另外,某些键则出现在数字键盘上。此方法提供了一种区分这些键的方式。

返回:
被按下或释放的键的位置。总是为 KEY_TYPED 事件返回 KEY_LOCATION_UNKNOWN
从以下版本开始:
1.4

getKeyText

public static String getKeyText(int keyCode)
返回描述 keyCode 的 String,如 "HOME"、"F1" 或 "A"。通过更改 awt.properties 文件可以本地化这些字符串。

返回:
包含物理键文本描述的字符串,物理键通过其 keyCode 标识。

getKeyModifiersText

public static String getKeyModifiersText(int modifiers)
返回描述修改键的 String,如 "Shift" 或 "Ctrl+Shift"。通过更改 awt.properties 文件可以本地化这些字符串。

注意,InputEvent.ALT_MASKInputEvent.BUTTON2_MASK 具有相同的值,所以对这两个修饰符返回字符串 "Alt"。同样,InputEvent.META_MASKInputEvent.BUTTON3_MASK 具有相同的值,所以对这两个修饰符返回字符串 "Meta"。

返回:
一个字符串,它是在事件期间所按住的修改键组合的文本描述
另请参见:
InputEvent.getModifiersExText(int)

isActionKey

public boolean isActionKey()
返回此事件中的键是否为“动作”键。通常动作键不会激发 unicode 字符并且不是修改键。

返回:
如果该键是“动作”键,则返回 true;否则返回 false

paramString

public String paramString()
返回标识此事件的参数字符串。此方法对于事件记录和调试很有用。

覆盖:
ComponentEvent 中的 paramString
返回:
标识事件及其属性的字符串

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策