|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | 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


public class 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 Unicode 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 Unicode characters (e.g., action keys, modifier keys, etc.).
The getKeyChar method always returns a valid Unicode character or CHAR_UNDEFINED. Character input is reported by KEY_TYPED events: KEY_PRESSED and KEY_RELEASED events are not necessarily associated with character input. Therefore, the result of the getKeyChar method is guaranteed to be meaningful only for KEY_TYPED events.
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 (such as "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 Form| Field 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_LOCATION_LEFT
A constant indicating that the key pressed or released is in the left key location (there is more than one possible location for this key). |
static int |
KEY_LOCATION_NUMPAD
A constant indicating that the key event originated on the numeric keypad or with a virtual key corresponding to the numeric keypad. |
static int |
KEY_LOCATION_RIGHT
A constant indicating that the key pressed or released is in the right key location (there is more than one possible location for this key). |
static int |
KEY_LOCATION_STANDARD
A constant indicating that the key pressed or released is not distinguished as the left or right version of a key, and did not originate on the numeric keypad (or did not originate with a virtual key corresponding to the numeric keypad). |
static int |
KEY_LOCATION_UNKNOWN
A constant indicating that the keyLocation is indeterminate or not relevant. |
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
Constant for the back slash key, "\" |
static int |
VK_BACK_SPACE
|
static int |
VK_BEGIN
Constant for the Begin key. |
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
Constant for the close bracket key, "]" |
static int |
VK_CODE_INPUT
Constant for the Code Input function key. |
static int |
VK_COLON
Constant for the ":" key. |
static int |
VK_COMMA
Constant for the comma key, "," |
static int |
VK_COMPOSE
Constant for the Compose function key. |
static int |
VK_CONTEXT_MENU
Constant for the Microsoft Windows Context Menu 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
Constant for the non-numpad down arrow key. |
static int |
VK_E
|
static int |
VK_END
|
static int |
VK_ENTER
|
static int |
VK_EQUALS
Constant for the equals key, "=" |
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 |