public class KeyEvent extends InputEvent
当按下,释放或键入键时,此低级别事件由组件对象(例如文本字段)生成。 该事件传递给每个KeyListener
或KeyAdapter
对象,该对象使用组件的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
方法也可以与许多国际键盘布局一起使用。
“按键”和“按键释放”事件较低级别,取决于平台和键盘布局。 它们是按键或释放键生成的,是找出不产生字符输入的键的唯一方法(例如,操作键,修改键等)。 按下或释放的键由getKeyCode
和getExtendedKeyCode
方法指示,返回一个虚拟键代码。
虚拟键码用于报告已按下哪个键盘键,而不是由一个或多个按键组合(例如来自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
但是在某些情况下(例如自动重复或输入法被激活),顺序可能会有所不同(依赖于平台)。
笔记:
VK_Q
的键也会为俄语或希伯来语布局生成唯一的代码。 这些和许多其他代码在各种布局中没有一个VK_
常量。 这些代码可以通过使用getExtendedKeyCode
获得,并且在使用VK_
常数时使用。 警告:除了由Java语言(VK_ENTER,VK_BACK_SPACE和VK_TAB)定义的那些键外,不要依赖于VK_常量的值。 Sun保留根据需要更改这些值的权利,以适应未来更广泛的键盘。
如果未指定的行为将引起id
任何特定的参数KeyEvent
实例不在范围从KEY_FIRST
到KEY_LAST
。
KeyAdapter
, KeyListener
, Tutorial: Writing a Key Listener , Serialized Form
Modifier and Type | Field and Description |
---|---|
static char |
CHAR_UNDEFINED
KEY_PRESSED和KEY_RELEASED事件不映射到一个有效的Unicode字符使用它作为keyChar值。
|
static int |
KEY_FIRST
用于关键事件的ids范围中的第一个数字。
|
static int |
KEY_LAST
用于关键事件的ids范围中的最后一个数字。
|
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
接受或提交功能键的常数。
|
static int |
VK_ADD |
static int |
VK_AGAIN |
static int |
VK_ALL_CANDIDATES
所有候选人的常数功能键。
|
static int |
VK_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
常数为开始键。
|
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
代码输入功能键的常数。
|
static int |
VK_COLON
“:”键的常数。
|
static int |
VK_COMMA
常数为逗号键“,”
|
static int |
VK_COMPOSE
编写功能键的常数。
|
static int |
VK_CONTEXT_MENU
Microsoft Windows上下文菜单键的常数。
|
static int |
VK_CONTROL |
static int |
VK_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
常数为非numpad
向下箭头键。
|
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
全角字符的常量功能键。
|
static int |
VK_G |
static int |
VK_GREATER |
static int |
VK_H |
static int |
VK_HALF_WIDTH
半角字符功能键的常数。
|
static int |
VK_HELP |
static int |
VK_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
日文 - 平假名功能键的常数。
|
static int |
VK_JAPANESE_KATAKANA
日本片假名功能键的常数。
|
static int |
VK_JAPANESE_ROMAN
日常罗马功能键的常数。
|
static int |
VK_K |
static int |
VK_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 |
static int |
VK_LEFT
常数为非numpad
左箭头键。
|
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
不转换功能键的常数。
|
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
上一个候选功能键的常数。
|
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
常数为非numpad
右箭头键。
|
static int |
VK_RIGHT_PARENTHESIS
常数为“)”键。
|
static int |
VK_ROMAN_CHARACTERS
罗马字符功能键的常数。
|
static int |
VK_S |
static int |
VK_SCROLL_LOCK |
static int |
VK_SEMICOLON
常数为分号键,“;”
|
static int |
VK_SEPARATER
此常数已过时,仅用于向后兼容。
|
static int |
VK_SEPARATOR
Numpad 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
常数为非numpad
向上箭头键。
|
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 |
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
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
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
source
Constructor and Description |
---|
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)
构造一个
KeyEvent 对象。
|
Modifier and Type | Method and Description |
---|---|
int |
getExtendedKeyCode()
返回事件的扩展密钥代码。
|
static int |
getExtendedKeyCodeForChar(int c)
返回unicode字符的扩展密钥代码。
|
char |
getKeyChar()
返回与此事件中的键相关联的字符。
|
int |
getKeyCode()
返回与此事件中的键相关联的整数keyCode。
|
int |
getKeyLocation()
返回发起此键事件的键的位置。
|
static String |
getKeyModifiersText(int modifiers)
返回
String 修饰键的一个
String ,例如“Shift”或“Ctrl + Shift”。
|
static String |
getKeyText(int keyCode)
返回一个描述keyCode的String,如“HOME”,“F1”或“A”。
|
boolean |
isActionKey()
返回此事件中的键是否为“动作”键。
|
String |
paramString()
返回标识此事件的参数字符串。
|
void |
setKeyChar(char keyChar)
设置keyChar值以指示逻辑字符。
|
void |
setKeyCode(int keyCode)
设置keyCode值以指示物理键。
|
void |
setModifiers(int modifiers)
已弃用
截至JDK1.1.4
|
consume, getMaskForButton, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
getComponent
getSource
public static final int KEY_FIRST
public static final int KEY_LAST
public static final int KEY_TYPED
public static final int KEY_PRESSED
public static final int KEY_RELEASED
public static final int VK_ENTER
public static final int VK_BACK_SPACE
public static final int VK_TAB
public static final int VK_CANCEL
public static final int VK_CLEAR
public static final int VK_SHIFT
public static final int VK_CONTROL
public static final int VK_ALT
public static final int VK_PAUSE
public static final int VK_CAPS_LOCK
public static final int VK_ESCAPE
public static final int VK_SPACE
public static final int VK_PAGE_UP
public static final int VK_PAGE_DOWN
public static final int VK_END
public static final int VK_HOME
public static final int VK_LEFT
VK_KP_LEFT
,
Constant Field Values
public static final int VK_UP
VK_KP_UP
,
Constant Field Values
public static final int VK_RIGHT
VK_KP_RIGHT
,
Constant Field Values
public static final int VK_DOWN
VK_KP_DOWN
,
Constant Field Values
public static final int VK_COMMA
public static final int VK_MINUS
public static final int VK_PERIOD
public static final int VK_SLASH
public static final int VK_0
public static final int VK_1
public static final int VK_2
public static final int VK_3
public static final int VK_4
public static final int VK_5
public static final int VK_6
public static final int VK_7
public static final int VK_8
public static final int VK_9
public static final int VK_SEMICOLON
public static final int VK_EQUALS
public static final int VK_A
public static final int VK_B
public static final int VK_C
public static final int VK_D
public static final int VK_E
public static final int VK_F
public static final int VK_G
public static final int VK_H
public static final int VK_I
public static final int VK_J
public static final int VK_K
public static final int VK_L
public static final int VK_M
public static final int VK_N
public static final int VK_O
public static final int VK_P
public static final int VK_Q
public static final int VK_R
public static final int VK_S
public static final int VK_T
public static final int VK_U
public static final int VK_V
public static final int VK_W
public static final int VK_X
public static final int VK_Y
public static final int VK_Z
public static final int VK_OPEN_BRACKET
public static final int VK_BACK_SLASH
public static final int VK_CLOSE_BRACKET
public static final int VK_NUMPAD0
public static final int VK_NUMPAD1
public static final int VK_NUMPAD2
public static final int VK_NUMPAD3
public static final int VK_NUMPAD4
public static final int VK_NUMPAD5
public static final int VK_NUMPAD6
public static final int VK_NUMPAD7
public static final int VK_NUMPAD8
public static final int VK_NUMPAD9
public static final int VK_MULTIPLY
public static final int VK_ADD
public static final int VK_SEPARATER
VK_SEPARATOR
,
Constant Field Values
public static final int VK_SEPARATOR
public static final int VK_SUBTRACT
public static final int VK_DECIMAL
public static final int VK_DIVIDE
public static final int VK_DELETE
public static final int VK_NUM_LOCK
public static final int VK_SCROLL_LOCK
public static final int VK_F1
public static final int VK_F2
public static final int VK_F3
public static final int VK_F4
public static final int VK_F5
public static final int VK_F6
public static final int VK_F7
public static final int VK_F8
public static final int VK_F9
public static final int VK_F10
public static final int VK_F11
public static final int VK_F12
public static final int VK_F13
public static final int VK_F14
public static final int VK_F15
public static final int VK_F16
public static final int VK_F17
public static final int VK_F18
public static final int VK_F19
public static final int VK_F20
public static final int VK_F21
public static final int VK_F22
public static final int VK_F23
public static final int VK_F24
public static final int VK_PRINTSCREEN
public static final int VK_INSERT
public static final int VK_HELP
public static final int VK_META
public static final int VK_BACK_QUOTE
public static final int VK_QUOTE
public static final int VK_KP_UP
VK_UP
,
Constant Field Values
public static final int VK_KP_DOWN
VK_DOWN
,
Constant Field Values
public static final int VK_KP_LEFT
VK_LEFT
,
Constant Field Values
public static final int VK_KP_RIGHT
VK_RIGHT
,
Constant Field Values
public static final int VK_DEAD_GRAVE
public static final int VK_DEAD_ACUTE
public static final int VK_DEAD_CIRCUMFLEX
public static final int VK_DEAD_TILDE
public static final int VK_DEAD_MACRON
public static final int VK_DEAD_BREVE
public static final int VK_DEAD_ABOVEDOT
public static final int VK_DEAD_DIAERESIS
public static final int VK_DEAD_ABOVERING
public static final int VK_DEAD_DOUBLEACUTE
public static final int VK_DEAD_CARON
public static final int VK_DEAD_CEDILLA
public static final int VK_DEAD_OGONEK
public static final int VK_DEAD_IOTA
public static final int VK_DEAD_VOICED_SOUND
public static final int VK_DEAD_SEMIVOICED_SOUND
public static final int VK_AMPERSAND
public static final int VK_ASTERISK
public static final int VK_QUOTEDBL
public static final int VK_LESS
public static final int VK_GREATER
public static final int VK_BRACELEFT
public static final int VK_BRACERIGHT
public static final int VK_AT
public static final int VK_COLON
public static final int VK_CIRCUMFLEX
public static final int VK_DOLLAR
public static final int VK_EURO_SIGN
public static final int VK_EXCLAMATION_MARK
public static final int VK_INVERTED_EXCLAMATION_MARK
public static final int VK_LEFT_PARENTHESIS
public static final int VK_NUMBER_SIGN
public static final int VK_PLUS
public static final int VK_RIGHT_PARENTHESIS
public static final int VK_UNDERSCORE
public static final int VK_WINDOWS
getKeyLocation()
,
Constant Field Values
public static final int VK_CONTEXT_MENU
public static final int VK_FINAL
public static final int VK_CONVERT
public static final int VK_NONCONVERT
public static final int VK_ACCEPT
public static final int VK_MODECHANGE
public static final int VK_KANA
public static final int VK_KANJI
public static final int VK_ALPHANUMERIC
public static final int VK_KATAKANA
public static final int VK_HIRAGANA
public static final int VK_FULL_WIDTH
public static final int VK_HALF_WIDTH
public static final int VK_ROMAN_CHARACTERS
public static final int VK_ALL_CANDIDATES
public static final int VK_PREVIOUS_CANDIDATE
public static final int VK_CODE_INPUT
public static final int VK_JAPANESE_KATAKANA
public static final int VK_JAPANESE_HIRAGANA
public static final int VK_JAPANESE_ROMAN
public static final int VK_KANA_LOCK
public static final int VK_INPUT_METHOD_ON_OFF
public static final int VK_CUT
public static final int VK_COPY
public static final int VK_PASTE
public static final int VK_UNDO
public static final int VK_AGAIN
public static final int VK_FIND
public static final int VK_PROPS
public static final int VK_STOP
public static final int VK_COMPOSE
public static final int VK_ALT_GRAPH
public static final int VK_BEGIN
public static final int VK_UNDEFINED
public static final char CHAR_UNDEFINED
public static final int KEY_LOCATION_UNKNOWN
KEY_TYPED
事件没有keyLocation;
该值被替代使用。
public static final int KEY_LOCATION_STANDARD
public static final int KEY_LOCATION_LEFT
public static final int KEY_LOCATION_RIGHT
public static final int KEY_LOCATION_NUMPAD
public KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation)
KeyEvent
对象。
此方法抛出IllegalArgumentException
如果source
是null
。
source
-该
Component
发起事件
id
- 表示事件类型的整数。
有关允许值的信息,请参阅KeyEvent
的类说明
when
- 指定事件发生时间的长整数。
不建议传递负值或零值
modifiers
- 修改器在事件期间按下(shift,ctrl,alt,meta)。
不推荐传递负值。
零值表示没有通过修饰符。
使用扩展_DOWN_MASK或旧_MASK修饰符,但不要在一个事件中混合模型。
扩展的修饰剂优选用于使用
keyCode
- 实际键的整数代码,或VK_UNDEFINED(用于键入事件)
keyChar
- 此事件
keyChar
的Unicode字符或CHAR_UNDEFINED(对于未映射到有效Unicode字符的按键和键释放事件)
keyLocation
- 标识密钥位置。
唯一的合法值是KEY_LOCATION_UNKNOWN
, KEY_LOCATION_STANDARD
, KEY_LOCATION_LEFT
, KEY_LOCATION_RIGHT
和KEY_LOCATION_NUMPAD
。
IllegalArgumentException
- 如果id
是KEY_TYPED
和keyChar
是CHAR_UNDEFINED
;
或者如果id
是KEY_TYPED
和keyCode
不是VK_UNDEFINED
;
或如果id
是KEY_TYPED
和keyLocation
不是KEY_LOCATION_UNKNOWN
;
或者如果keyLocation
不是上面列举的合法价值之一。
IllegalArgumentException
- 如果
source
为空
EventObject.getSource()
,
AWTEvent.getID()
,
InputEvent.getWhen()
,
InputEvent.getModifiers()
,
getKeyCode()
,
getKeyChar()
,
getKeyLocation()
public KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar)
KeyEvent
对象。
此方法抛出IllegalArgumentException
如果source
是null
。
source
-该
Component
发起事件
id
- 指示事件类型的整数。
有关允许值的信息,请参阅KeyEvent
的类说明
when
- 指定事件发生时间的长整数。
不建议传递负值或零值
modifiers
- 修改器在事件期间按下(shift,ctrl,alt,meta)。
不推荐传递负值。
零值表示没有通过修饰符。
使用扩展_DOWN_MASK或旧_MASK修饰符,但不要在一个事件中混合模型。
扩展的修饰剂优选用于使用
keyCode
- 实际键的整数代码,或VK_UNDEFINED(用于键入事件)
keyChar
- 此事件
keyChar
的Unicode字符或CHAR_UNDEFINED(对于未映射到有效Unicode字符的按键和键释放事件)
IllegalArgumentException
- 如果id
是KEY_TYPED
和keyChar
是CHAR_UNDEFINED
;
或者如果id
是KEY_TYPED
和keyCode
不是VK_UNDEFINED
IllegalArgumentException
- 如果
source
为空
EventObject.getSource()
,
AWTEvent.getID()
,
InputEvent.getWhen()
,
InputEvent.getModifiers()
,
getKeyCode()
,
getKeyChar()
@Deprecated public KeyEvent(Component source, int id, long when, int modifiers, int keyCode)
public int getKeyCode()
KEY_TYPED
事件,keyCode为VK_UNDEFINED
)
public void setKeyCode(int keyCode)
keyCode
- 与键盘上实际键相对应的整数。
public char getKeyChar()
KEY_TYPED
事件返回“A”的值。
KEY_PRESSED
和KEY_RELEASED
事件不用于报告字符输入。 因此,此方法返回的值仅对KEY_TYPED
事件有保证。
CHAR_UNDEFINED
。
public void setKeyChar(char keyChar)
keyChar
- 对应于构成此事件的按键组合的字符串。
@Deprecated public void setModifiers(int modifiers)
注意:不建议使用此方法,因为许多AWT实现不会识别修饰符更改。 对于更改换档修改器的KEY_TYPED
事件尤其如此。
modifiers
- 修饰符常数的整数组合。
InputEvent
public int getKeyLocation()
KEY_LOCATION_UNKNOWN
为KEY_TYPED
事件。
public static String getKeyText(int keyCode)
public static String getKeyModifiersText(int modifiers)
String
修饰键的一个String
,例如“Shift”或“Ctrl + Shift”。
可以通过更改awt.properties
文件来本地化这些字符串。
请注意, InputEvent.ALT_MASK
和InputEvent.BUTTON2_MASK
具有相同的值,因此为两个修饰符返回字符串“Alt”。 同样, InputEvent.META_MASK
和InputEvent.BUTTON3_MASK
具有相同的值,因此为两个修饰符返回字符串“Meta”。
InputEvent.getModifiersExText(int)
public boolean isActionKey()
true
如果键是“动作”键,
false
false
public String paramString()
paramString
在
ComponentEvent
public int getExtendedKeyCode()
keyCode
一样。
但是,与keyCode
不同,此值取决于当前的键盘布局。
例如,在一个共同的英文布局按左最上面的字母键相同的值keyCode
, VK_Q
。
在俄罗斯的常规布局中按相同的键可以给出另外一个代码,这个代码对于“西里尔字母I”来说是独一无二的。
public static int getExtendedKeyCodeForChar(int c)
VK_
常数 - 这个VK_
常数;
对于出现在已知键盘布局的主要级别上的角色 - 唯一的整数。
如果字符未显示在已知键盘的主级上,则返回VK_UNDEFINED
。