Class KeyEvent
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
MenuKeyEvent
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
. The getExtendedKeyCode
method
may also be used with many international keyboard layouts.
"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
and getExtendedKeyCode
methods, which return 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.
Pressing and releasing a key on the keyboard results in the generating the following key events (in order):
But in some cases (e.g. auto-repeat or input method is activated) the order could be different (and platform dependent).KEY_PRESSED
KEY_TYPED
(is only generated if a valid Unicode character could be generated.)KEY_RELEASED
Notes:
- Key combinations which do not result in Unicode characters, such as action keys like F1 and the HELP key, do not generate KEY_TYPED events.
- Not all keyboards or systems are capable of generating all virtual key codes. No attempt is made in Java to generate these keys artificially.
- Virtual key codes do not identify a physical key: they depend on the platform and keyboard layout. For example, the key that generates VK_Q when using a U.S. keyboard layout will generate VK_A when using a French keyboard layout.
- The key that generates
VK_Q
when using a U.S. keyboard layout also generates a unique code for Russian or Hebrew layout. There is no aVK_
constant for these and many other codes in various layouts. These codes may be obtained by usinggetExtendedKeyCode
and are used whenever aVK_
constant is used. - Not all characters have a keycode associated with them. For example, there is no keycode for the question mark because there is no keyboard for which it appears on the primary layer.
- In order to support the platform-independent handling of action keys, the Java platform uses a few additional virtual key constants for functions that would otherwise have to be recognized by interpreting virtual key codes and modifiers. For example, for Japanese Windows keyboards, VK_ALL_CANDIDATES is returned instead of VK_CONVERT with the ALT modifier.
- As specified in Focus Specification key events are dispatched to the focus owner by default.
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. The platform steward reserves the right to change these values as needed to accommodate a wider range of keyboards in the future.
An unspecified behavior will be caused if the id
parameter
of any particular KeyEvent
instance is not
in the range from KEY_FIRST
to KEY_LAST
.
- Since:
- 1.1
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final char
KEY_PRESSED and KEY_RELEASED events which do not map to a valid Unicode character use this for the keyChar value.static final int
The first number in the range of ids used for key events.static final int
The last number in the range of ids used for key events.static final int
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 final int
A constant indicating that the key event originated on the numeric keypad or with a virtual key corresponding to the numeric keypad.static final int
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 final int
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 final int
A constant indicating that the keyLocation is indeterminate or not relevant.static final int
The "key pressed" event.static final int
The "key released" event.static final int
The "key typed" event.static final int
Constant for the "0" key.static final int
Constant for the "1" key.static final int
Constant for the "2" key.static final int
Constant for the "3" key.static final int
Constant for the "4" key.static final int
Constant for the "5" key.static final int
Constant for the "6" key.static final int
Constant for the "7" key.static final int
Constant for the "8" key.static final int
Constant for the "9" key.static final int
Constant for the "A" key.static final int
Constant for the Accept or Commit function key.static final int
Constant for the number pad add key.static final int
Constant for the Again key.static final int
Constant for the All Candidates function key.static final int
Constant for the Alphanumeric function key.static final int
Constant for the ALT virtual key.static final int
Constant for the AltGraph function key.static final int
Constant for the "&" key.static final int
Constant for the "*" key.static final int
Constant for the "@" key.static final int
Constant for the "B" key.static final int
Constant for the BACK_QUOTE key.static final int
Constant for the back slash key, "\"static final int
Constant for the BACK_SPACE virtual key.static final int
Constant for the Begin key.static final int
Constant for the "{" key.static final int
Constant for the "}" key.static final int
Constant for the "C" key.static final int
Constant for the CANCEL virtual key.static final int
Constant for the CAPS_LOCK virtual key.static final int
Constant for the "^" key.static final int
Constant for the CLEAR virtual key.static final int
Constant for the close bracket key, "]"static final int
Constant for the Code Input function key.static final int
Constant for the ":" key.static final int
Constant for the comma key, ","static final int
Constant for the Compose function key.static final int
Constant for the Microsoft Windows Context Menu key.static final int
Constant for the CONTROL virtual key.static final int
Constant for the Convert function key.static final int
Constant for the Copy key.static final int
Constant for the Cut key.static final int
Constant for the "D" key.static final int
Constant for the Dead Above Dot key.static final int
Constant for the Dead Above Ring key.static final int
Constant for the Dead Acute key.static final int
Constant for the Dead Breve key.static final int
Constant for the Dead Caron key.static final int
Constant for the Dead Cedilla key.static final int
Constant for the Dead Circumflex key.static final int
Constant for the Dead Diaeresis key.static final int
Constant for the Dead Double Acute key.static final int
Constant for the Dead Grave key.static final int
Constant for the Dead Iota key.static final int
Constant for the Dead Macron key.static final int
Constant for the Dead Ogonek key.static final int
Constant for the Dead Semivoiced Sound key.static final int
Constant for the Dead Tilde key.static final int
Constant for the Dead Voiced Sound key.static final int
Constant for the number pad decimal point key.static final int
Constant for the delete key.static final int
Constant for the number pad divide key.static final int
Constant for the "$" key.static final int
Constant for the non-numpad down arrow key.static final int
Constant for the "E" key.static final int
Constant for the END virtual key.static final int
Constant for the ENTER virtual key.static final int
Constant for the equals key, "="static final int
Constant for the ESCAPE virtual key.static final int
Constant for the Euro currency sign key.static final int
Constant for the "!"static final int
Constant for the "F" key.static final int
Constant for the F1 function key.static final int
Constant for the F10 function key.static final int
Constant for the F11 function key.static final int
Constant for the F12 function key.static final int
Constant for the F13 function key.static final int
Constant for the F14 function key.static final int
Constant for the F15 function key.static final int
Constant for the F16 function key.static final int
Constant for the F17 function key.static final int
Constant for the F18 function key.static final int
Constant for the F19 function key.static final int
Constant for the F2 function key.static final int
Constant for the F20 function key.static final int
Constant for the F21 function key.static final int
Constant for the F22 function key.static final int
Constant for the F23 function key.static final int
Constant for the F24 function key.static final int
Constant for the F3 function key.static final int
Constant for the F4 function key.static final int
Constant for the F5 function key.static final int
Constant for the F6 function key.static final int
Constant for the F7 function key.static final int
Constant for the F8 function key.static final int
Constant for the F9 function key.static final int
Constant for the FINAL key.static final int
Constant for the Find key.static final int
Constant for the Full-Width Characters function key.static final int
Constant for the "G" key.static final int
Constant for the ">" key.static final int
Constant for the "H" key.static final int
Constant for the Half-Width Characters function key.static final int
Constant for the HELP key.static final int
Constant for the Hiragana function key.static final int
Constant for the HOME virtual key.static final int
Constant for the "I" key.static final int
Constant for the input method on/off key.static final int
Constant for the INSERT key.static final int
Constant for the inverted exclamation mark key.static final int
Constant for the "J" key.static final int
Constant for the Japanese-Hiragana function key.static final int
Constant for the Japanese-Katakana function key.static final int
Constant for the Japanese-Roman function key.static final int
Constant for the "K" key.static final int
Constant for the KANA lock key.static final int
Constant for the locking Kana function key.static final int
Constant for KANJI.static final int
Constant for the Katakana function key.static final int
Constant for the numeric keypad down arrow key.static final int
Constant for the numeric keypad left arrow key.static final int
Constant for the numeric keypad right arrow key.static final int
Constant for the numeric keypad up arrow key.static final int
Constant for the "L" key.static final int
Constant for the non-numpad left arrow key.static final int
Constant for the "(" key.static final int
Constant for the "<" key.static final int
Constant for the "M" key.static final int
Constant for the META key.static final int
Constant for the minus key, "-"static final int
Constant for the MODECHANGE key.static final int
Constant for the number pad multiply key.static final int
Constant for the "N" key.static final int
Constant for the Don't Convert function key.static final int
Constant for the NUM_LOCK key.static final int
Constant for the "#" key.static final int
Constant for the number pad "0" key.static final int
Constant for the number pad "1" key.static final int
Constant for the number pad "2" key.static final int
Constant for the number pad "3" key.static final int
Constant for the number pad "4" key.static final int
Constant for the number pad "5" key.static final int
Constant for the number pad "6" key.static final int
Constant for the number pad "7" key.static final int
Constant for the number pad "8" key.static final int
Constant for the number pad "9" key.static final int
Constant for the "O" key.static final int
Constant for the open bracket key, "["static final int
Constant for the "P" key.static final int
Constant for the PAGE_DOWN virtual key.static final int
Constant for the PAGE_UP virtual key.static final int
Constant for the Paste key.static final int
Constant for the PAUSE virtual key.static final int
Constant for the period key, "."static final int
Constant for the "+" key.static final int
Constant for the Previous Candidate function key.static final int
Constant for the PRINTSCREEN key.static final int
Constant for the Props key.static final int
Constant for the "Q" key.static final int
Constant for the QUOTE key.static final int
Constant for the """" key.static final int
Constant for the "R" key.static final int
Constant for the non-numpad right arrow key.static final int
Constant for the ")" key.static final int
Constant for the Roman Characters function key.static final int
Constant for the "S" key.static final int
Constant for the SCROLL_LOCK key.static final int
Constant for the semicolon key, ";"static final int
This constant is obsolete, and is included only for backwards compatibility.static final int
Constant for the Numpad Separator key.static final int
Constant for the SHIFT virtual key.static final int
Constant for the forward slash key, "/"static final int
Constant for the SPACE virtual key.static final int
Constant for the Stop key.static final int
Constant for the number pad subtract key.static final int
Constant for the "T" key.static final int
Constant for the TAB virtual key.static final int
Constant for the "U" key.static final int
This value is used to indicate that the keyCode is unknown.static final int
Constant for the "_" key.static final int
Constant for the Undo key.static final int
Constant for the non-numpad up arrow key.static final int
Constant for the "V" key.static final int
Constant for the "W" key.static final int
Constant for the Microsoft Windows "Windows" key.static final int
Constant for the "X" key.static final int
Constant for the "Y" key.static final int
Constant for the "Z" key.Fields inherited from class 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
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.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
Fields inherited from class java.util.EventObject
source
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
Returns an extended key code for the event.static int
getExtendedKeyCodeForChar
(int c) Returns an extended key code for a unicode character.char
Returns the character associated with the key in this event.int
Returns the integer keyCode associated with the key in this event.int
Returns the location of the key that originated this key event.static String
getKeyModifiersText
(int modifiers) Deprecated.It is recommended that extended modifier keys andInputEvent.getModifiersExText(int)
be used insteadstatic String
getKeyText
(int keyCode) Returns a String describing the keyCode, such as "HOME", "F1" or "A".boolean
Returns whether the key in this event is an "action" key.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) Deprecated.as of JDK1.1.4Methods inherited from class java.awt.event.InputEvent
consume, getMaskForButton, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
Methods inherited from class java.awt.event.ComponentEvent
getComponent
Methods inherited from class java.util.EventObject
getSource
-
Field Details
-
KEY_FIRST
public static final int KEY_FIRSTThe first number in the range of ids used for key events.- See Also:
-
KEY_LAST
public static final int KEY_LASTThe last number in the range of ids used for key events.- See Also:
-
KEY_TYPED
public static final int KEY_TYPEDThe "key typed" event. This event is generated when a character is entered. In the simplest case, it is produced by a single key press. Often, however, characters are produced by series of key presses, and the mapping from key pressed events to key typed events may be many-to-one or many-to-many.- See Also:
-
KEY_PRESSED
public static final int KEY_PRESSEDThe "key pressed" event. This event is generated when a key is pushed down.- See Also:
-
KEY_RELEASED
public static final int KEY_RELEASEDThe "key released" event. This event is generated when a key is let up.- See Also:
-
VK_ENTER
public static final int VK_ENTERConstant for the ENTER virtual key.- See Also:
-
VK_BACK_SPACE
public static final int VK_BACK_SPACEConstant for the BACK_SPACE virtual key.- See Also:
-
VK_TAB
public static final int VK_TABConstant for the TAB virtual key.- See Also:
-
VK_CANCEL
public static final int VK_CANCELConstant for the CANCEL virtual key.- See Also:
-
VK_CLEAR
public static final int VK_CLEARConstant for the CLEAR virtual key.- See Also:
-
VK_SHIFT
public static final int VK_SHIFTConstant for the SHIFT virtual key.- See Also:
-
VK_CONTROL
public static final int VK_CONTROLConstant for the CONTROL virtual key.- See Also:
-
VK_ALT
public static final int VK_ALTConstant for the ALT virtual key.- See Also:
-
VK_PAUSE
public static final int VK_PAUSEConstant for the PAUSE virtual key.- See Also:
-
VK_CAPS_LOCK
public static final int VK_CAPS_LOCKConstant for the CAPS_LOCK virtual key.- See Also:
-
VK_ESCAPE
public static final int VK_ESCAPEConstant for the ESCAPE virtual key.- See Also:
-
VK_SPACE
public static final int VK_SPACEConstant for the SPACE virtual key.- See Also:
-
VK_PAGE_UP
public static final int VK_PAGE_UPConstant for the PAGE_UP virtual key.- See Also:
-
VK_PAGE_DOWN
public static final int VK_PAGE_DOWNConstant for the PAGE_DOWN virtual key.- See Also:
-
VK_END
public static final int VK_ENDConstant for the END virtual key.- See Also:
-
VK_HOME
public static final int VK_HOMEConstant for the HOME virtual key.- See Also:
-
VK_LEFT
public static final int VK_LEFTConstant for the non-numpad left arrow key.- See Also:
-
VK_UP
public static final int VK_UPConstant for the non-numpad up arrow key.- See Also:
-
VK_RIGHT
public static final int VK_RIGHTConstant for the non-numpad right arrow key.- See Also:
-
VK_DOWN
public static final int VK_DOWNConstant for the non-numpad down arrow key.- See Also:
-
VK_COMMA
public static final int VK_COMMAConstant for the comma key, ","- See Also:
-
VK_MINUS
public static final int VK_MINUSConstant for the minus key, "-"- Since:
- 1.2
- See Also:
-
VK_PERIOD
public static final int VK_PERIODConstant for the period key, "."- See Also:
-
VK_SLASH
public static final int VK_SLASHConstant for the forward slash key, "/"- See Also:
-
VK_0
public static final int VK_0Constant for the "0" key.- See Also:
-
VK_1
public static final int VK_1Constant for the "1" key.- See Also:
-
VK_2
public static final int VK_2Constant for the "2" key.- See Also:
-
VK_3
public static final int VK_3Constant for the "3" key.- See Also:
-
VK_4
public static final int VK_4Constant for the "4" key.- See Also:
-
VK_5
public static final int VK_5Constant for the "5" key.- See Also:
-
VK_6
public static final int VK_6Constant for the "6" key.- See Also:
-
VK_7
public static final int VK_7Constant for the "7" key.- See Also:
-
VK_8
public static final int VK_8Constant for the "8" key.- See Also:
-
VK_9
public static final int VK_9Constant for the "9" key.- See Also:
-
VK_SEMICOLON
public static final int VK_SEMICOLONConstant for the semicolon key, ";"- See Also:
-
VK_EQUALS
public static final int VK_EQUALSConstant for the equals key, "="- See Also:
-
VK_A
public static final int VK_AConstant for the "A" key.- See Also:
-
VK_B
public static final int VK_BConstant for the "B" key.- See Also:
-
VK_C
public static final int VK_CConstant for the "C" key.- See Also:
-
VK_D
public static final int VK_DConstant for the "D" key.- See Also:
-
VK_E
public static final int VK_EConstant for the "E" key.- See Also:
-
VK_F
public static final int VK_FConstant for the "F" key.- See Also:
-
VK_G
public static final int VK_GConstant for the "G" key.- See Also:
-
VK_H
public static final int VK_HConstant for the "H" key.- See Also:
-
VK_I
public static final int VK_IConstant for the "I" key.- See Also:
-
VK_J
public static final int VK_JConstant for the "J" key.- See Also:
-
VK_K
public static final int VK_KConstant for the "K" key.- See Also:
-
VK_L
public static final int VK_LConstant for the "L" key.- See Also:
-
VK_M
public static final int VK_MConstant for the "M" key.- See Also:
-
VK_N
public static final int VK_NConstant for the "N" key.- See Also:
-
VK_O
public static final int VK_OConstant for the "O" key.- See Also:
-
VK_P
public static final int VK_PConstant for the "P" key.- See Also:
-
VK_Q
public static final int VK_QConstant for the "Q" key.- See Also:
-
VK_R
public static final int VK_RConstant for the "R" key.- See Also:
-
VK_S
public static final int VK_SConstant for the "S" key.- See Also:
-
VK_T
public static final int VK_TConstant for the "T" key.- See Also:
-
VK_U
public static final int VK_UConstant for the "U" key.- See Also:
-
VK_V
public static final int VK_VConstant for the "V" key.- See Also:
-
VK_W
public static final int VK_WConstant for the "W" key.- See Also:
-
VK_X
public static final int VK_XConstant for the "X" key.- See Also:
-
VK_Y
public static final int VK_YConstant for the "Y" key.- See Also:
-
VK_Z
public static final int VK_ZConstant for the "Z" key.- See Also:
-
VK_OPEN_BRACKET
public static final int VK_OPEN_BRACKETConstant for the open bracket key, "["- See Also:
-
VK_BACK_SLASH
public static final int VK_BACK_SLASHConstant for the back slash key, "\"- See Also:
-
VK_CLOSE_BRACKET
public static final int VK_CLOSE_BRACKETConstant for the close bracket key, "]"- See Also:
-
VK_NUMPAD0
public static final int VK_NUMPAD0Constant for the number pad "0" key.- See Also:
-
VK_NUMPAD1
public static final int VK_NUMPAD1Constant for the number pad "1" key.- See Also:
-
VK_NUMPAD2
public static final int VK_NUMPAD2Constant for the number pad "2" key.- See Also:
-
VK_NUMPAD3
public static final int VK_NUMPAD3Constant for the number pad "3" key.- See Also:
-
VK_NUMPAD4
public static final int VK_NUMPAD4Constant for the number pad "4" key.- See Also:
-
VK_NUMPAD5
public static final int VK_NUMPAD5Constant for the number pad "5" key.- See Also:
-
VK_NUMPAD6
public static final int VK_NUMPAD6Constant for the number pad "6" key.- See Also:
-
VK_NUMPAD7
public static final int VK_NUMPAD7Constant for the number pad "7" key.- See Also:
-
VK_NUMPAD8
public static final int VK_NUMPAD8Constant for the number pad "8" key.- See Also:
-
VK_NUMPAD9
public static final int VK_NUMPAD9Constant for the number pad "9" key.- See Also:
-
VK_MULTIPLY
public static final int VK_MULTIPLYConstant for the number pad multiply key.- See Also:
-
VK_ADD
public static final int VK_ADDConstant for the number pad add key.- See Also:
-
VK_SEPARATER
public static final int VK_SEPARATERThis constant is obsolete, and is included only for backwards compatibility.- See Also:
-
VK_SEPARATOR
public static final int VK_SEPARATORConstant for the Numpad Separator key.- Since:
- 1.4
- See Also:
-
VK_SUBTRACT
public static final int VK_SUBTRACTConstant for the number pad subtract key.- See Also:
-
VK_DECIMAL
public static final int VK_DECIMALConstant for the number pad decimal point key.- See Also:
-
VK_DIVIDE
public static final int VK_DIVIDEConstant for the number pad divide key.- See Also:
-
VK_DELETE
public static final int VK_DELETEConstant for the delete key.- See Also:
-
VK_NUM_LOCK
public static final int VK_NUM_LOCKConstant for the NUM_LOCK key.- See Also:
-
VK_SCROLL_LOCK
public static final int VK_SCROLL_LOCKConstant for the SCROLL_LOCK key.- See Also:
-
VK_F1
public static final int VK_F1Constant for the F1 function key.- See Also:
-
VK_F2
public static final int VK_F2Constant for the F2 function key.- See Also:
-
VK_F3
public static final int VK_F3Constant for the F3 function key.- See Also:
-
VK_F4
public static final int VK_F4Constant for the F4 function key.- See Also:
-
VK_F5
public static final int VK_F5Constant for the F5 function key.- See Also:
-
VK_F6
public static final int VK_F6Constant for the F6 function key.- See Also:
-
VK_F7
public static final int VK_F7Constant for the F7 function key.- See Also:
-
VK_F8
public static final int VK_F8Constant for the F8 function key.- See Also:
-
VK_F9
public static final int VK_F9Constant for the F9 function key.- See Also:
-
VK_F10
public static final int VK_F10Constant for the F10 function key.- See Also:
-
VK_F11
public static final int VK_F11Constant for the F11 function key.- See Also:
-
VK_F12
public static final int VK_F12Constant for the F12 function key.- See Also:
-
VK_F13
public static final int VK_F13Constant for the F13 function key.- Since:
- 1.2
- See Also:
-
VK_F14
public static final int VK_F14Constant for the F14 function key.- Since:
- 1.2
- See Also:
-
VK_F15
public static final int VK_F15Constant for the F15 function key.- Since:
- 1.2
- See Also:
-
VK_F16
public static final int VK_F16Constant for the F16 function key.- Since:
- 1.2
- See Also:
-
VK_F17
public static final int VK_F17Constant for the F17 function key.- Since:
- 1.2
- See Also:
-
VK_F18
public static final int VK_F18Constant for the F18 function key.- Since:
- 1.2
- See Also:
-
VK_F19
public static final int VK_F19Constant for the F19 function key.- Since:
- 1.2
- See Also:
-
VK_F20
public static final int VK_F20Constant for the F20 function key.- Since:
- 1.2
- See Also:
-
VK_F21
public static final int VK_F21Constant for the F21 function key.- Since:
- 1.2
- See Also:
-
VK_F22
public static final int VK_F22Constant for the F22 function key.- Since:
- 1.2
- See Also:
-
VK_F23
public static final int VK_F23Constant for the F23 function key.- Since:
- 1.2
- See Also:
-
VK_F24
public static final int VK_F24Constant for the F24 function key.- Since:
- 1.2
- See Also:
-
VK_PRINTSCREEN
public static final int VK_PRINTSCREENConstant for the PRINTSCREEN key.- See Also:
-
VK_INSERT
public static final int VK_INSERTConstant for the INSERT key.- See Also:
-
VK_HELP
public static final int VK_HELPConstant for the HELP key.- See Also:
-
VK_META
public static final int VK_METAConstant for the META key.- See Also:
-
VK_BACK_QUOTE
public static final int VK_BACK_QUOTEConstant for the BACK_QUOTE key.- See Also:
-
VK_QUOTE
public static final int VK_QUOTEConstant for the QUOTE key.- See Also:
-
VK_KP_UP
public static final int VK_KP_UPConstant for the numeric keypad up arrow key.- Since:
- 1.2
- See Also:
-
VK_KP_DOWN
public static final int VK_KP_DOWNConstant for the numeric keypad down arrow key.- Since:
- 1.2
- See Also:
-
VK_KP_LEFT
public static final int VK_KP_LEFTConstant for the numeric keypad left arrow key.- Since:
- 1.2
- See Also:
-
VK_KP_RIGHT
public static final int VK_KP_RIGHTConstant for the numeric keypad right arrow key.- Since:
- 1.2
- See Also:
-
VK_DEAD_GRAVE
public static final int VK_DEAD_GRAVEConstant for the Dead Grave key.- Since:
- 1.2
- See Also:
-
VK_DEAD_ACUTE
public static final int VK_DEAD_ACUTEConstant for the Dead Acute key.- Since:
- 1.2
- See Also:
-
VK_DEAD_CIRCUMFLEX
public static final int VK_DEAD_CIRCUMFLEXConstant for the Dead Circumflex key.- Since:
- 1.2
- See Also:
-
VK_DEAD_TILDE
public static final int VK_DEAD_TILDEConstant for the Dead Tilde key.- Since:
- 1.2
- See Also:
-
VK_DEAD_MACRON
public static final int VK_DEAD_MACRONConstant for the Dead Macron key.- Since:
- 1.2
- See Also:
-
VK_DEAD_BREVE
public static final int VK_DEAD_BREVEConstant for the Dead Breve key.- Since:
- 1.2
- See Also:
-
VK_DEAD_ABOVEDOT
public static final int VK_DEAD_ABOVEDOTConstant for the Dead Above Dot key.- Since:
- 1.2
- See Also:
-
VK_DEAD_DIAERESIS
public static final int VK_DEAD_DIAERESISConstant for the Dead Diaeresis key.- Since:
- 1.2
- See Also:
-
VK_DEAD_ABOVERING
public static final int VK_DEAD_ABOVERINGConstant for the Dead Above Ring key.- Since:
- 1.2
- See Also:
-
VK_DEAD_DOUBLEACUTE
public static final int VK_DEAD_DOUBLEACUTEConstant for the Dead Double Acute key.- Since:
- 1.2
- See Also:
-
VK_DEAD_CARON
public static final int VK_DEAD_CARONConstant for the Dead Caron key.- Since:
- 1.2
- See Also:
-
VK_DEAD_CEDILLA
public static final int VK_DEAD_CEDILLAConstant for the Dead Cedilla key.- Since:
- 1.2
- See Also:
-
VK_DEAD_OGONEK
public static final int VK_DEAD_OGONEKConstant for the Dead Ogonek key.- Since:
- 1.2
- See Also:
-
VK_DEAD_IOTA
public static final int VK_DEAD_IOTAConstant for the Dead Iota key.- Since:
- 1.2
- See Also:
-
VK_DEAD_VOICED_SOUND
public static final int VK_DEAD_VOICED_SOUNDConstant for the Dead Voiced Sound key.- Since:
- 1.2
- See Also:
-
VK_DEAD_SEMIVOICED_SOUND
public static final int VK_DEAD_SEMIVOICED_SOUNDConstant for the Dead Semivoiced Sound key.- Since:
- 1.2
- See Also:
-
VK_AMPERSAND
public static final int VK_AMPERSANDConstant for the "&" key.- Since:
- 1.2
- See Also:
-
VK_ASTERISK
public static final int VK_ASTERISKConstant for the "*" key.- Since:
- 1.2
- See Also:
-
VK_QUOTEDBL
public static final int VK_QUOTEDBLConstant for the """" key.- Since:
- 1.2
- See Also:
-
VK_LESS
public static final int VK_LESSConstant for the "<" key.- Since:
- 1.2
- See Also:
-
VK_GREATER
public static final int VK_GREATERConstant for the ">" key.- Since:
- 1.2
- See Also:
-
VK_BRACELEFT
public static final int VK_BRACELEFTConstant for the "{" key.- Since:
- 1.2
- See Also:
-
VK_BRACERIGHT
public static final int VK_BRACERIGHTConstant for the "}" key.- Since:
- 1.2
- See Also:
-
VK_AT
public static final int VK_ATConstant for the "@" key.- Since:
- 1.2
- See Also:
-
VK_COLON
public static final int VK_COLONConstant for the ":" key.- Since:
- 1.2
- See Also:
-
VK_CIRCUMFLEX
public static final int VK_CIRCUMFLEXConstant for the "^" key.- Since:
- 1.2
- See Also:
-
VK_DOLLAR
public static final int VK_DOLLARConstant for the "$" key.- Since:
- 1.2
- See Also:
-
VK_EURO_SIGN
public static final int VK_EURO_SIGNConstant for the Euro currency sign key.- Since:
- 1.2
- See Also:
-
VK_EXCLAMATION_MARK
public static final int VK_EXCLAMATION_MARKConstant for the "!" key.- Since:
- 1.2
- See Also:
-
VK_INVERTED_EXCLAMATION_MARK
public static final int VK_INVERTED_EXCLAMATION_MARKConstant for the inverted exclamation mark key.- Since:
- 1.2
- See Also:
-
VK_LEFT_PARENTHESIS
public static final int VK_LEFT_PARENTHESISConstant for the "(" key.- Since:
- 1.2
- See Also:
-
VK_NUMBER_SIGN
public static final int VK_NUMBER_SIGNConstant for the "#" key.- Since:
- 1.2
- See Also:
-
VK_PLUS
public static final int VK_PLUSConstant for the "+" key.- Since:
- 1.2
- See Also:
-
VK_RIGHT_PARENTHESIS
public static final int VK_RIGHT_PARENTHESISConstant for the ")" key.- Since:
- 1.2
- See Also:
-
VK_UNDERSCORE
public static final int VK_UNDERSCOREConstant for the "_" key.- Since:
- 1.2
- See Also:
-
VK_WINDOWS
public static final int VK_WINDOWSConstant for the Microsoft Windows "Windows" key. It is used for both the left and right version of the key.- Since:
- 1.5
- See Also:
-
VK_CONTEXT_MENU
public static final int VK_CONTEXT_MENUConstant for the Microsoft Windows Context Menu key.- Since:
- 1.5
- See Also:
-
VK_FINAL
public static final int VK_FINALConstant for the FINAL key.- See Also:
-
VK_CONVERT
public static final int VK_CONVERTConstant for the Convert function key.- See Also:
-
VK_NONCONVERT
public static final int VK_NONCONVERTConstant for the Don't Convert function key.- See Also:
-
VK_ACCEPT
public static final int VK_ACCEPTConstant for the Accept or Commit function key.- See Also:
-
VK_MODECHANGE
public static final int VK_MODECHANGEConstant for the MODECHANGE key.- See Also:
-
VK_KANA
public static final int VK_KANAConstant for the KANA lock key.- See Also:
-
VK_KANJI
public static final int VK_KANJIConstant for KANJI.- See Also:
-
VK_ALPHANUMERIC
public static final int VK_ALPHANUMERICConstant for the Alphanumeric function key.- Since:
- 1.2
- See Also:
-
VK_KATAKANA
public static final int VK_KATAKANAConstant for the Katakana function key.- Since:
- 1.2
- See Also:
-
VK_HIRAGANA
public static final int VK_HIRAGANAConstant for the Hiragana function key.- Since:
- 1.2
- See Also:
-
VK_FULL_WIDTH
public static final int VK_FULL_WIDTHConstant for the Full-Width Characters function key.- Since:
- 1.2
- See Also:
-
VK_HALF_WIDTH
public static final int VK_HALF_WIDTHConstant for the Half-Width Characters function key.- Since:
- 1.2
- See Also:
-
VK_ROMAN_CHARACTERS
public static final int VK_ROMAN_CHARACTERSConstant for the Roman Characters function key.- Since:
- 1.2
- See Also:
-
VK_ALL_CANDIDATES
public static final int VK_ALL_CANDIDATESConstant for the All Candidates function key.- Since:
- 1.2
- See Also:
-
VK_PREVIOUS_CANDIDATE
public static final int VK_PREVIOUS_CANDIDATEConstant for the Previous Candidate function key.- Since:
- 1.2
- See Also:
-
VK_CODE_INPUT
public static final int VK_CODE_INPUTConstant for the Code Input function key.- Since:
- 1.2
- See Also:
-
VK_JAPANESE_KATAKANA
public static final int VK_JAPANESE_KATAKANAConstant for the Japanese-Katakana function key. This key switches to a Japanese input method and selects its Katakana input mode.- Since:
- 1.2
- See Also:
-
VK_JAPANESE_HIRAGANA
public static final int VK_JAPANESE_HIRAGANAConstant for the Japanese-Hiragana function key. This key switches to a Japanese input method and selects its Hiragana input mode.- Since:
- 1.2
- See Also:
-
VK_JAPANESE_ROMAN
public static final int VK_JAPANESE_ROMANConstant for the Japanese-Roman function key. This key switches to a Japanese input method and selects its Roman-Direct input mode.- Since:
- 1.2
- See Also:
-
VK_KANA_LOCK
public static final int VK_KANA_LOCKConstant for the locking Kana function key. This key locks the keyboard into a Kana layout.- Since:
- 1.3
- See Also:
-
VK_INPUT_METHOD_ON_OFF
public static final int VK_INPUT_METHOD_ON_OFFConstant for the input method on/off key.- Since:
- 1.3
- See Also:
-
VK_CUT
public static final int VK_CUTConstant for the Cut key.- Since:
- 1.2
- See Also:
-
VK_COPY
public static final int VK_COPYConstant for the Copy key.- Since:
- 1.2
- See Also:
-
VK_PASTE
public static final int VK_PASTEConstant for the Paste key.- Since:
- 1.2
- See Also:
-
VK_UNDO
public static final int VK_UNDOConstant for the Undo key.- Since:
- 1.2
- See Also:
-
VK_AGAIN
public static final int VK_AGAINConstant for the Again key.- Since:
- 1.2
- See Also:
-
VK_FIND
public static final int VK_FINDConstant for the Find key.- Since:
- 1.2
- See Also:
-
VK_PROPS
public static final int VK_PROPSConstant for the Props key.- Since:
- 1.2
- See Also:
-
VK_STOP
public static final int VK_STOPConstant for the Stop key.- Since:
- 1.2
- See Also:
-
VK_COMPOSE
public static final int VK_COMPOSEConstant for the Compose function key.- Since:
- 1.2
- See Also:
-
VK_ALT_GRAPH
public static final int VK_ALT_GRAPHConstant for the AltGraph function key.- Since:
- 1.2
- See Also:
-
VK_BEGIN
public static final int VK_BEGINConstant for the Begin key.- Since:
- 1.5
- See Also:
-
VK_UNDEFINED
public static final int VK_UNDEFINEDThis value is used to indicate that the keyCode is unknown. KEY_TYPED events do not have a keyCode value; this value is used instead.- See Also:
-
CHAR_UNDEFINED
public static final char CHAR_UNDEFINEDKEY_PRESSED and KEY_RELEASED events which do not map to a valid Unicode character use this for the keyChar value.- See Also:
-
KEY_LOCATION_UNKNOWN
public static final int KEY_LOCATION_UNKNOWNA constant indicating that the keyLocation is indeterminate or not relevant.KEY_TYPED
events do not have a keyLocation; this value is used instead.- Since:
- 1.4
- See Also:
-
KEY_LOCATION_STANDARD
public static final int KEY_LOCATION_STANDARDA 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).- Since:
- 1.4
- See Also:
-
KEY_LOCATION_LEFT
public static final int KEY_LOCATION_LEFTA constant indicating that the key pressed or released is in the left key location (there is more than one possible location for this key). Example: the left shift key.- Since:
- 1.4
- See Also:
-
KEY_LOCATION_RIGHT
public static final int KEY_LOCATION_RIGHTA constant indicating that the key pressed or released is in the right key location (there is more than one possible location for this key). Example: the right shift key.- Since:
- 1.4
- See Also:
-
KEY_LOCATION_NUMPAD
public static final int KEY_LOCATION_NUMPADA constant indicating that the key event originated on the numeric keypad or with a virtual key corresponding to the numeric keypad.- Since:
- 1.4
- See Also:
-
-
Constructor Details
-
KeyEvent
public KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation) Constructs aKeyEvent
object.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forKeyEvent
when
- A long integer that specifies the time the event occurred. Passing negative or zero value is not recommendedmodifiers
- The modifier keys down during event (shift, ctrl, alt, meta). Passing negative value is not recommended. Zero value means that no modifiers were passed. Use either an extended _DOWN_MASK or old _MASK modifiers, however do not mix models in the one event. The extended modifiers are preferred for usingkeyCode
- 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)keyLocation
- Identifies the key location. The only legal values areKEY_LOCATION_UNKNOWN
,KEY_LOCATION_STANDARD
,KEY_LOCATION_LEFT
,KEY_LOCATION_RIGHT
, andKEY_LOCATION_NUMPAD
.- Throws:
IllegalArgumentException
- ifid
isKEY_TYPED
andkeyChar
isCHAR_UNDEFINED
; or ifid
isKEY_TYPED
andkeyCode
is notVK_UNDEFINED
; or ifid
isKEY_TYPED
andkeyLocation
is notKEY_LOCATION_UNKNOWN
; or ifkeyLocation
is not one of the legal values enumerated above.IllegalArgumentException
- ifsource
is null- Since:
- 1.4
- See Also:
-
KeyEvent
Constructs aKeyEvent
object.This method throws an
IllegalArgumentException
ifsource
isnull
.- Parameters:
source
- TheComponent
that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forKeyEvent
when
- A long integer that specifies the time the event occurred. Passing negative or zero value is not recommendedmodifiers
- The modifier keys down during event (shift, ctrl, alt, meta). Passing negative value is not recommended. Zero value means that no modifiers were passed. Use either an extended _DOWN_MASK or old _MASK modifiers, however do not mix models in the one event. The extended modifiers are preferred for usingkeyCode
- 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)- Throws:
IllegalArgumentException
- ifid
isKEY_TYPED
andkeyChar
isCHAR_UNDEFINED
; or ifid
isKEY_TYPED
andkeyCode
is notVK_UNDEFINED
IllegalArgumentException
- ifsource
is null- See Also:
-
KeyEvent
Deprecated.as of JDK1.1; useKeyEvent(Component, int, long, int, int, char)
instead- Parameters:
source
- TheComponent
that originated the eventid
- An integer indicating the type of event. For information on allowable values, see the class description forKeyEvent
when
- A long integer that specifies the time the event occurred. Passing negative or zero value is not recommendedmodifiers
- The modifier keys down during event (shift, ctrl, alt, meta). Passing negative value is not recommended. Zero value means that no modifiers were passed. Use either an extended _DOWN_MASK or old _MASK modifiers, however do not mix models in the one event. The extended modifiers are preferred for usingkeyCode
- The integer code for an actual key, or VK_UNDEFINED (for a key-typed event)
-
-
Method Details
-
getKeyCode
public int getKeyCode()Returns the integer keyCode associated with the key in this event.- Returns:
- the integer code for an actual key on the keyboard.
(For
KEY_TYPED
events, the keyCode isVK_UNDEFINED
.)
-
setKeyCode
public void setKeyCode(int keyCode) Set the keyCode value to indicate a physical key.- Parameters:
keyCode
- an integer corresponding to an actual key on the keyboard.
-
getKeyChar
public char getKeyChar()Returns the character associated with the key in this event. For example, theKEY_TYPED
event for shift + "a" returns the value for "A".KEY_PRESSED
andKEY_RELEASED
events are not intended for reporting of character input. Therefore, the values returned by this method are guaranteed to be meaningful only forKEY_TYPED
events.- Returns:
- the Unicode character defined for this key event.
If no valid Unicode character exists for this key event,
CHAR_UNDEFINED
is returned.
-
setKeyChar
public void setKeyChar(char keyChar) Set the keyChar value to indicate a logical character.- Parameters:
keyChar
- a char corresponding to the combination of keystrokes that make up this event.
-
setModifiers
Deprecated.as of JDK1.1.4Set the modifiers to indicate additional keys that were held down (e.g. shift, ctrl, alt, meta) defined as part of InputEvent.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.- Parameters:
modifiers
- an integer combination of the modifier constants.- See Also:
-
getKeyLocation
public int getKeyLocation()Returns the location of the key that originated this key event. Some keys occur more than once on a keyboard, e.g. the left and right shift keys. Additionally, some keys occur on the numeric keypad. This provides a way of distinguishing such keys.- Returns:
- the location of the key that was pressed or released.
Always returns
KEY_LOCATION_UNKNOWN
forKEY_TYPED
events. - Since:
- 1.4
-
getKeyText
Returns a String describing the keyCode, such as "HOME", "F1" or "A". These strings can be localized by changing the awt.properties file.- Parameters:
keyCode
- the key whose description is to be returned- Returns:
- a string containing a text description for a physical key, identified by its keyCode
-
getKeyModifiersText
Deprecated.It is recommended that extended modifier keys andInputEvent.getModifiersExText(int)
be used insteadReturns aString
describing the modifier key(s), such as "Shift", or "Ctrl+Shift". These strings can be localized by changing theawt.properties
file.Note that
InputEvent.ALT_MASK
andInputEvent.BUTTON2_MASK
have the same value, so the string "Alt" is returned for both modifiers. Likewise,InputEvent.META_MASK
andInputEvent.BUTTON3_MASK
have the same value, so the string "Meta" is returned for both modifiers.- Parameters:
modifiers
- the modifier mask to be processed- Returns:
- string a text description of the combination of modifier keys that were held down during the event
- See Also:
-
isActionKey
public boolean isActionKey()Returns whether the key in this event is an "action" key. Typically an action key does not fire a unicode character and is not a modifier key.- Returns:
true
if the key is an "action" key,false
otherwise
-
paramString
Returns a parameter string identifying this event. This method is useful for event logging and for debugging.- Overrides:
paramString
in classComponentEvent
- Returns:
- a string identifying the event and its attributes
-
getExtendedKeyCode
public int getExtendedKeyCode()Returns an extended key code for the event. The extended key code is a unique id assigned to a key on the keyboard just likekeyCode
. However, unlikekeyCode
, this value depends on the current keyboard layout. For instance, pressing the left topmost letter key in a common English layout produces the same value askeyCode
,VK_Q
. Pressing the same key in a regular Russian layout gives another code, unique for the letter "Cyrillic I short".- Returns:
- an extended key code for the event
- Since:
- 1.7
-
getExtendedKeyCodeForChar
public static int getExtendedKeyCodeForChar(int c) Returns an extended key code for a unicode character.- Parameters:
c
- the unicode character to be processed- Returns:
- for a unicode character with a corresponding
VK_
constant -- thisVK_
constant; for a character appearing on the primary level of a known keyboard layout -- a unique integer. If a character does not appear on the primary level of a known keyboard,VK_UNDEFINED
is returned. - Since:
- 1.7
-
KeyEvent(Component, int, long, int, int, char)
instead