public class KeyEvent extends InputEvent
这个低级的事件是由一个组件对象(如一个文本字段)产生的,当一个键被按下,释放,或键入。事件传递到每一个KeyListener
或KeyAdapter
对象注册到使用组件的addKeyListener
方法接收这样的事件。(KeyAdapter
对象实现了KeyListener
接口。)每个侦听器对象被这KeyEvent
事件发生时。
“键类型”事件是更高级别的,一般不依赖于平台或键盘布局。他们时产生一个Unicode字符输入,并了解汉字输入的首选方法。在最简单的情况下,一个键类型的事件是由一个单一的按键(例如,“A”)产生的。然而,通常,字符是由一系列的按键(例如,“移位”+“A”),和从键按下事件到键类型的事件的映射可能是许多到一个或多个到许多。关键的版本通常不需要生成一个密钥类型的事件,但也有一些情况下键事件直到释放键生成(例如,通过ASCII序列进入Windows的ALT键的方法)。无键式事件是关键,不产生Unicode字符的产生(例如,动作键、组合键,等)。
的getkeychar方法总是返回一个有效的Unicode字符或char_undefined。汉字输入是由key_typed事件报道:key_pressed和key_released事件不一定与字符输入相关。因此,对getkeychar方法的结果是保证是有意义的只有key_typed事件。
对于键键发布事件,事件的getkeycode方法返回的键码。关键事件的类型,getkeycode方法总是返回VK_UNDEFINED
,getExtendedKeyCode
方法也可用于许多国际键盘布局。
“键按下”和“键发布”事件都是较低的水平,并依赖于平台和键盘布局。当一个键被按下或释放时,他们会产生,是唯一的方法来了解不产生字符输入(例如,动作键,修改键等)的键。被按下或释放的关键是由getKeyCode
和getExtendedKeyCode
方法表明,它返回一个虚拟键码。
虚拟键码用于报告键盘的键被按下,而不是由一个或多个按键的组合所产生的字符(如“一”,它来自移动和“A”)。
例如,按下Shift键将导致key_pressed事件与vk_shift密码,同时按下“”键会导致vk_a键码。在“A”键被释放,一个key_released事件将被vk_a。另外,产生key_typed事件与keychar价值'。
按下并释放键盘上的键结果产生下列关键事件(顺序):
但在某些情况下(如自动重复输入的方式是激活的)顺序可能不同(与平台相关的)。KEY_PRESSED
KEY_TYPED
(只产生如果有效的Unicode字符可以产生。)KEY_RELEASED
笔记:
VK_Q
使用美国键盘布局时,也会产生一个独特的代码布局俄罗斯或希伯来语。没有一个VK_
各种布局的这些和许多其他的代码不变。这些代码可以通过使用getExtendedKeyCode
获得和使用时使用VK_
常数。警告:除了那些钥匙是由java语言定义的(vk_enter,vk_back_space,和vk_tab),不依赖的vk_常数的值。太阳保留有权改变这些价值观,以适应更广泛的键盘在未来。
未指定的行为将如果任何特定的KeyEvent
实例的id
参数不在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
用于关键事件的入侵检测系统范围内的第一个数字。
|
static int |
KEY_LAST
用于关键事件的入侵检测范围的最后一个数字。
|
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 '通过' 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
常数为微软视窗上下文菜单键。
|
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
对于非小键盘
向下键常数。
|
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
对于通过功能键常数。
|
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
对于非小键盘
左边键常数。
|
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
对于非小键盘
正确的键常数。
|
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
对于小键盘分离器关键常数。
|
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
这个值是用来表示密码是未知的。
|
static int |
VK_UNDERSCORE
恒为“_”键。
|
static int |
VK_UNDO |
static int |
VK_UP
对于非小键盘
向上的键常数。
|
static int |
VK_V |
static int |
VK_W |
static int |
VK_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()
返回与此事件中的关键相关的整数键码。
|
int |
getKeyLocation()
返回源于此键事件的键的位置。
|
static String |
getKeyModifiersText(int modifiers)
返回一个
String 描述修饰键(S),如“转移”,或者“Ctrl + Shift”。
|
static String |
getKeyText(int keyCode)
返回一个描述密码字符串,如“家”、“F1”或“一”。
|
boolean |
isActionKey()
返回此事件中的键是否是一个“动作”键。
|
String |
paramString()
返回标识此事件的参数字符串。
|
void |
setKeyChar(char keyChar)
设置keychar值来表示一个逻辑特征。
|
void |
setKeyCode(int 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
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、元)。传递负值不推荐。零值意味着没有通过的修饰语。使用一个扩展的_down_mask或老_mask修饰,但是不要混合模型中的一个事件。扩展的改性剂是优选使用的
keyCode
的整数代码为一个实际的密钥,或vk_undefined(一个键事件)
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、元)。传递负值不推荐。零值意味着没有通过的修饰语。使用一个扩展的_down_mask或老_mask修饰,但是不要混合模型中的一个事件。扩展的改性剂是优选使用的
keyCode
的整数代码为一个实际的密钥,或vk_undefined(一个键事件)
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
事件,键位是
VK_UNDEFINED
。)
public void setKeyCode(int keyCode)
keyCode
整数。
public char getKeyChar()
KEY_TYPED
Shift +“”返回值为“”。
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_TYPED
事件
KEY_LOCATION_UNKNOWN
。
public static String getKeyText(int keyCode)
public static String getKeyModifiersText(int modifiers)
String
描述修饰键(S),如“转移”,或者“Ctrl + Shift”。这些字符串可以通过改变
awt.properties
文件本地化。
注意,InputEvent.ALT_MASK
和InputEvent.BUTTON2_MASK
有相同的值,所以字符串“ALT”还为改性剂。同样,InputEvent.META_MASK
和InputEvent.BUTTON3_MASK
有相同的值,所以字符串“元”还为改性剂。
InputEvent.getModifiersExText(int)
public boolean isActionKey()
true
如果关键是一个“行动”的关键,
false
否则
public String paramString()
paramString
方法重写,继承类
ComponentEvent
public int getExtendedKeyCode()
keyCode
唯一ID。然而,不像
keyCode
,这个值取决于当前键盘布局。例如,按下左上面的字母键在普通英语的布局产生相同的值作为
keyCode
,
VK_Q
。按相同的键在一个普通的俄罗斯布局提供了另一种代码,独特的字母西里尔我短”。
public static int getExtendedKeyCodeForChar(int c)
VK_
常数--这
VK_
恒定的Unicode字符;一个字符出现在一个已知的键盘布局的初级阶段--唯一的整数。如果一个角色没有出现在已知的键盘初级水平,
VK_UNDEFINED
返回。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.