|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.util.EventObject | +--java.awt.AWTEvent | +--java.awt.event.ComponentEvent | +--java.awt.event.InputEvent | +--java.awt.event.KeyEvent
An event which indicates that a keystroke occurred in a component.
This low-level event is generated by a component object (such as a text
field) when a key is pressed, released, or typed.
The event is passed to every KeyListener
or KeyAdapter
object which registered to receive such
events using the component's addKeyListener
method.
(KeyAdapter
objects implement the
KeyListener
interface.) Each such listener object
gets this KeyEvent
when the event occurs.
"Key typed" events are higher-level and generally do not depend on the platform or keyboard layout. They are generated when a character is entered, and are the preferred way to find out about character input. In the simplest case, a key typed event is produced by a single key press (e.g., 'a'). Often, however, characters are produced by series of key presses (e.g., 'shift' + 'a'), and the mapping from key pressed events to key typed events may be many-to-one or many-to-many. Key releases are not usually necessary to generate a key typed event, but there are some cases where the key typed event is not generated until a key is released (e.g., entering ASCII sequences via the Alt-Numpad method in Windows). No key typed events are generated for keys that don't generate characters (e.g., action keys, modifier keys, etc.). The getKeyChar method always returns a valid Unicode character or CHAR_UNDEFINED. For key pressed and key released events, the getKeyCode method returns the event's keyCode. For key typed events, the getKeyCode method always returns VK_UNDEFINED.
"Key pressed" and "key released" events are lower-level and depend on the platform and keyboard layout. They are generated whenever a key is pressed or released, and are the only way to find out about keys that don't generate character input (e.g., action keys, modifier keys, etc.). The key being pressed or released is indicated by the getKeyCode method, which returns a virtual key code.
Virtual key codes are used to report which keyboard key has been pressed, rather than a character generated by the combination of one or more keystrokes (like "A", which comes from shift and "a").
For example, pressing the Shift key will cause a KEY_PRESSED event with a VK_SHIFT keyCode, while pressing the 'a' key will result in a VK_A keyCode. After the 'a' key is released, a KEY_RELEASED event will be fired with VK_A. Separately, a KEY_TYPED event with a keyChar value of 'A' is generated.
Notes:
WARNING: Aside from those keys that are defined by the Java language (VK_ENTER, VK_BACK_SPACE, and VK_TAB), do not rely on the values of the VK_ constants. Sun reserves the right to change these values as needed to accomodate a wider range of keyboards in the future.
KeyAdapter
,
KeyListener
,
Tutorial: Writing a Key Listener,
Reference: The Java Class Libraries (update file), Serialized FormField Summary | |
static char |
CHAR_UNDEFINED
KEY_PRESSED and KEY_RELEASED events which do not map to a valid Unicode character use this for the keyChar value. |
static int |
KEY_FIRST
The first number in the range of ids used for key events. |
static int |
KEY_LAST
The last number in the range of ids used for key events. |
static int |
KEY_PRESSED
The "key pressed" event. |
static int |
KEY_RELEASED
The "key released" event. |
static int |
KEY_TYPED
The "key typed" event. |
static int |
VK_0
VK_0 thru VK_9 are the same as ASCII '0' thru '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 thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) |
static int |
VK_ACCEPT
Constant for the Accept or Commit function key. |
static int |
VK_ADD
|
static int |
VK_AGAIN
|
static int |
VK_ALL_CANDIDATES
Constant for the All Candidates function key. |
static int |
VK_ALPHANUMERIC
Constant for the Alphanumeric function key. |
static int |
VK_ALT
|
static int |
VK_ALT_GRAPH
Constant for the AltGraph function key. |
static int |
VK_AMPERSAND
|
static int |
VK_ASTERISK
|
static int |
VK_AT
Constant for the "@" key. |
static int |
VK_B
|
static int |
VK_BACK_QUOTE
|
static int |
VK_BACK_SLASH
|
static int |
VK_BACK_SPACE
|
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
Constant for the "^" key. |
static int |
VK_CLEAR
|
static int |
VK_CLOSE_BRACKET
|
static int |
VK_CODE_INPUT
Constant for the Code Input function key. |
static int |
VK_COLON
Constant for the ":" key. |
static int |
VK_COMMA
|
static int |
VK_COMPOSE
Constant for the Compose function key. |
static int |
VK_CONTROL
|
static int |
VK_CONVERT
Constant for the Convert function key. |
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
Constant for the "$" key. |
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
Constant for the Euro currency sign key. |
static int |
VK_EXCLAMATION_MARK
Constant for the "!" key. |
static int |
VK_F
|
static int |
VK_F1
Constant for the F1 function key. |
static int |
VK_F10
Constant for the F10 function key. |
static int |
VK_F11
Constant for the F11 function key. |
static int |
VK_F12
Constant for the F12 function key. |
static int |
VK_F13
Constant for the F13 function key. |
static int |
VK_F14
Constant for the F14 function key. |
static int |
VK_F15
Constant for the F15 function key. |
static int |
VK_F16
Constant for the F16 function key. |
static int |
VK_F17
Constant for the F17 function key. |
static int |
VK_F18
Constant for the F18 function key. |
static int |
VK_F19
Constant for the F19 function key. |
static int |
VK_F2
Constant for the F2 function key. |
static int |
VK_F20
Constant for the F20 function key. |
static int |
VK_F21
Constant for the F21 function key. |
static int |
VK_F22
Constant for the F22 function key. |
static int |
VK_F23
Constant for the F23 function key. |
static int |
VK_F24
Constant for the F24 function key. |
static int |
VK_F3
Constant for the F3 function key. |
static int |
VK_F4
Constant for the F4 function key. |
static int |
VK_F5
Constant for the F5 function key. |
static int |
VK_F6
Constant for the F6 function key. |
static int |
VK_F7
Constant for the F7 function key. |
static int |
VK_F8
Constant for the F8 function key. |
static int |
VK_F9
Constant for the F9 function key. |
static int |
VK_FINAL
|
static int |
VK_FIND
|
static int |
VK_FULL_WIDTH
Constant for the Full-Width Characters function key. |
static int |
VK_G
|
static int |
VK_GREATER
|
static int |
VK_H
|
static int |
VK_HALF_WIDTH
Constant for the Half-Width Characters function key. |
static int |
VK_HELP
|
static int |
VK_HIRAGANA
Constant for the Hiragana function key. |
static int |
VK_HOME
|
static int |
VK_I
|
static int |
VK_INPUT_METHOD_ON_OFF
Constant for the input method on/off key. |
static int |
VK_INSERT
|
static int |
VK_INVERTED_EXCLAMATION_MARK
Constant for the inverted exclamation mark key. |
static int |
VK_J
|
static int |
VK_JAPANESE_HIRAGANA
Constant for the Japanese-Hiragana function key. |
static int |
VK_JAPANESE_KATAKANA
Constant for the Japanese-Katakana function key. |
static int |
VK_JAPANESE_ROMAN
Constant for the Japanese-Roman function key. |
static int |
VK_K
|
static int |
VK_KANA
|
static int |
VK_KANA_LOCK
Constant for the locking Kana function key. |
static int |
VK_KANJI
|
static int |
VK_KATAKANA
Constant for the Katakana function key. |
static int |
VK_KP_DOWN
Constant for the key pad arrow down function key. |
static int |
VK_KP_LEFT
Constant for the key pad arrow left function key. |
static int |
VK_KP_RIGHT
Constant for the key pad arrow right function key. |
static int |
VK_KP_UP
Constant for the key pad arrow up function key. |
static int |
VK_L
|
static int |
VK_LEFT
|
static int |
VK_LEFT_PARENTHESIS
Constant for the "(" key. |
static int |
VK_LESS
|
static int |
VK_M
|
static int |
VK_META
|
static int |
VK_MINUS
Constant for the "-" key. |
static int |
VK_MODECHANGE
|
static int |
VK_MULTIPLY
|
static int |
VK_N
|
static int |
VK_NONCONVERT
Constant for the Don't Convert function key. |
static int |
VK_NUM_LOCK
|
static int |
VK_NUMBER_SIGN
Constant for the "#" key. |
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
Constant for the "+" key. |
static int |
VK_PREVIOUS_CANDIDATE
Constant for the Previous Candidate function key. |
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
Constant for the ")" key. |
static int |
VK_ROMAN_CHARACTERS
Constant for the Roman Characters function key. |
static int |
VK_S
|
static int |
VK_SCROLL_LOCK
|
static int |
VK_SEMICOLON
|
static int |
VK_SEPARATER
|
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
KEY_TYPED events do not have a keyCode value. |
static int |
VK_UNDERSCORE
Constant for the "_" key. |
static int |
VK_UNDO
|
static int |
VK_UP
|
static int |
VK_V
|
static int |
VK_W
|
static int |
VK_X
|
static int |
VK_Y
|
static int |
VK_Z
|
Fields inherited from class java.awt.event.InputEvent |
ALT_GRAPH_MASK, ALT_MASK, BUTTON1_MASK, BUTTON2_MASK, BUTTON3_MASK, CTRL_MASK, META_MASK, SHIFT_MASK |
Fields inherited from class java.awt.event.ComponentEvent |
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN |
Fields inherited from class java.util.EventObject |
source |
Constructor Summary | |
KeyEvent(Component source,
int id,
long when,
int modifiers,
int keyCode)
|
|
KeyEvent(Component source,
int id,
long when,
int modifiers,
int keyCode,
char keyChar)
Constructs a KeyEvent object. |
Method Summary | |
char |
getKeyChar()
Returns the character associated with the key in this event. |
int |
getKeyCode()
Returns the integer key-code associated with the key in this event. |
static String |
getKeyModifiersText(int modifiers)
Returns a String describing the modifier key(s), such as "Shift", or "Ctrl+Shift". |
static String |
getKeyText(int keyCode)
Returns a String describing the keyCode, such as "HOME", "F1" or "A". |
boolean |
isActionKey()
Returns whether or not the key in this event is an "action" key, as defined in Event.java. |
String |
paramString()
Returns a parameter string identifying this event. |
void |
setKeyChar(char keyChar)
Set the keyChar value to indicate a logical character. |
void |
setKeyCode(int keyCode)
Set the keyCode value to indicate a physical key. |
void |
setModifiers(int modifiers)
Set the modifiers to indicate additional keys that were held down (shift, ctrl, alt, meta) defined as part of InputEvent. |
void |
setSource(Object newSource)
Set the source of this KeyEvent. |
Methods inherited from class java.awt.event.InputEvent |
consume, getModifiers, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown |
Methods inherited from class java.awt.event.ComponentEvent |
getComponent |
Methods inherited from class java.awt.AWTEvent |
finalize, getID, toString |
Methods inherited from class java.util.EventObject |
getSource |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
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
public static final int VK_UP
public static final int VK_RIGHT
public static final int VK_DOWN
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_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
public static final int VK_KP_DOWN
public static final int VK_KP_LEFT
public static final int VK_KP_RIGHT
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_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_UNDEFINED
public static final char CHAR_UNDEFINED
Constructor Detail |
public KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar)
source
- the Component that originated the eventid
- an integer identifying the type of eventwhen
- a long integer that specifys the time the event occurredmodifiers
- the modifier keys down during event
(shift, ctrl, alt, meta)keyCode
- the integer code for an actual key, or VK_UNDEFINED
(for a key-typed event)keyChar
- the Unicode character generated by this event, or
CHAR_UNDEFINED (for key-pressed and key-released
events which do not map to a valid Unicode character)public KeyEvent(Component source, int id, long when, int modifiers, int keyCode)
Method Detail |
public void setSource(Object newSource)
newSource
- the KeyEvent's new source.public int getKeyCode()
public void setKeyCode(int keyCode)
keyCode
- an integer corresponding to an actual key on the keyboard.public void setKeyChar(char keyChar)
keyChar
- a char corresponding to to the combination of keystrokes
that make up this event.public void setModifiers(int modifiers)
NOTE: use of this method is not recommended, because many AWT implementations do not recognize modifier changes. This is especially true for KEY_TYPED events where the shift modifier is changed.
modifiers
- an integer combination of the modifier constants.InputEvent
public char getKeyChar()
public static String getKeyText(int keyCode)
public static String getKeyModifiersText(int modifiers)
public boolean isActionKey()
Event
public String paramString()
paramString
in class ComponentEvent
|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Oracle and/or its affiliates, in the US and other countries.
Copyright © 1995, 2010 Oracle and/or its affiliates. All rights reserved.