java.awt.event
Class KeyEvent

java.lang.Object
  extended byjava.util.EventObject
      extended byjava.awt.AWTEvent
          extended byjava.awt.event.ComponentEvent
              extended byjava.awt.event.InputEvent
                  extended byjava.awt.event.KeyEvent
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
MenuKeyEvent

public class KeyEvent
extends InputEvent

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. 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.

Since:
1.1
Author:
Carl Quinn, Amy Fowler, Norbert Lindenberg
See Also:
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.
private  boolean isProxyActive
          Stores the state of native event dispatching system - true, if when the event was created event proxying mechanism was active - false, if it was inactive Used in Component.dispatchEventImpl to correctly dispatch events when proxy is active
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.
(package private)  char keyChar
          keyChar is a valid unicode character that is fired by a key or a key combination on a keyboard.
(package private)  int keyCode
          The unique value assigned to each of the keys on the keyboard.
(package private)  int keyLocation
          The location of the key on the keyboard.
private static long serialVersionUID
           
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
          Constant for the non-numpad down arrow key.
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 "!"
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 numeric keypad down arrow key.
static int VK_KP_LEFT
          Constant for the numeric keypad left arrow key.
static int VK_KP_RIGHT
          Constant for the numeric keypad right arrow key.
static int VK_KP_UP
          Constant for the numeric keypad up arrow key.
static int VK_L
           
static int VK_LEFT
          Constant for the non-numpad left arrow key.
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
          Constant for the non-numpad right arrow key.
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
          This constant is obsolete, and is included only for backwards compatibility.
static int VK_SEPARATOR
          Constant for the Numpad Separator key.
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
          This value is used to indicate that the keyCode is unknown.
static int VK_UNDERSCORE
          Constant for the "_" key.
static int VK_UNDO
           
static int VK_UP
          Constant for the non-numpad up arrow key.
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_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, JDK_1_3_MODIFIERS, META_DOWN_MASK, META_MASK, modifiers, SHIFT_DOWN_MASK, SHIFT_MASK, when
 
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
  KeyEvent(Component source, int id, long when, int modifiers, int keyCode)
          Deprecated. as of JDK1.1
  KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar)
          Constructs a KeyEvent object.
  KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation)
           
private KeyEvent(Component source, int id, long when, int modifiers, int keyCode, char keyChar, int keyLocation, boolean isProxyActive)
          Constructs a KeyEvent object.
 
Method Summary
 char getKeyChar()
          Returns the character associated with the key in this event.
 int getKeyCode()
          Returns the integer keyCode associated with the key in this event.
 int getKeyLocation()
          Returns the location of the key that originated this key 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".
private static void initIDs()
          Initialize JNI field and method IDs for fields that may be accessed from C.
 boolean isActionKey()
          Returns whether the key in this event is an "action" key.
 String paramString()
          Returns a parameter string identifying this event.
private  void readObject(ObjectInputStream s)
          Sets new modifiers by the old ones.
 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.4
private  void setNewModifiers()
          Sets new modifiers by the old ones.
private  void setOldModifiers()
          Sets old modifiers by the new ones.
 
Methods inherited from class java.awt.event.InputEvent
consume, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
 
Methods inherited from class java.awt.event.ComponentEvent
getComponent
 
Methods inherited from class java.awt.AWTEvent
getID, setSource, toString
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isProxyActive

private boolean isProxyActive
Stores the state of native event dispatching system - true, if when the event was created event proxying mechanism was active - false, if it was inactive Used in Component.dispatchEventImpl to correctly dispatch events when proxy is active


KEY_FIRST

public static final int KEY_FIRST
The first number in the range of ids used for key events.

See Also:
Constant Field Values

KEY_LAST

public static final int KEY_LAST
The last number in the range of ids used for key events.

See Also:
Constant Field Values

KEY_TYPED

public static final int KEY_TYPED
The "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:
Constant Field Values

KEY_PRESSED

public static final int KEY_PRESSED
The "key pressed" event. This event is generated when a key is pushed down.

See Also:
Constant Field Values

KEY_RELEASED

public static final int KEY_RELEASED
The "key released" event. This event is generated when a key is let up.

See Also:
Constant Field Values

VK_ENTER

public static final int VK_ENTER
See Also:
Constant Field Values

VK_BACK_SPACE

public static final int VK_BACK_SPACE
See Also:
Constant Field Values

VK_TAB

public static final int VK_TAB
See Also:
Constant Field Values

VK_CANCEL

public static final int VK_CANCEL
See Also:
Constant Field Values

VK_CLEAR

public static final int VK_CLEAR
See Also:
Constant Field Values

VK_SHIFT

public static final int VK_SHIFT
See Also:
Constant Field Values

VK_CONTROL

public static final int VK_CONTROL
See Also:
Constant Field Values

VK_ALT

public static final int VK_ALT
See Also:
Constant Field Values

VK_PAUSE

public static final int VK_PAUSE
See Also:
Constant Field Values

VK_CAPS_LOCK

public static final int VK_CAPS_LOCK
See Also:
Constant Field Values

VK_ESCAPE

public static final int VK_ESCAPE
See Also:
Constant Field Values

VK_SPACE

public static final int VK_SPACE
See Also:
Constant Field Values

VK_PAGE_UP

public static final int VK_PAGE_UP
See Also:
Constant Field Values

VK_PAGE_DOWN

public static final int VK_PAGE_DOWN
See Also:
Constant Field Values

VK_END

public static final int VK_END
See Also:
Constant Field Values

VK_HOME

public static final int VK_HOME
See Also:
Constant Field Values

VK_LEFT

public static final int VK_LEFT
Constant for the non-numpad left arrow key.

See Also:
VK_KP_LEFT, Constant Field Values

VK_UP

public static final int VK_UP
Constant for the non-numpad up arrow key.

See Also:
VK_KP_UP, Constant Field Values

VK_RIGHT

public static final int VK_RIGHT
Constant for the non-numpad right arrow key.

See Also:
VK_KP_RIGHT, Constant Field Values

VK_DOWN

public static final int VK_DOWN
Constant for the non-numpad down arrow key.

See Also:
VK_KP_DOWN, Constant Field Values

VK_COMMA

public static final int VK_COMMA
See Also:
Constant Field Values

VK_MINUS

public static final int VK_MINUS
Constant for the "-" key.

Since:
1.2
See Also:
Constant Field Values

VK_PERIOD

public static final int VK_PERIOD
See Also:
Constant Field Values

VK_SLASH

public static final int VK_SLASH
See Also:
Constant Field Values

VK_0

public static final int VK_0
VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39)

See Also:
Constant Field Values

VK_1

public static final int VK_1
See Also:
Constant Field Values

VK_2

public static final int VK_2
See Also:
Constant Field Values

VK_3

public static final int VK_3
See Also:
Constant Field Values

VK_4

public static final int VK_4
See Also:
Constant Field Values

VK_5

public static final int VK_5
See Also:
Constant Field Values

VK_6

public static final int VK_6
See Also:
Constant Field Values

VK_7

public static final int VK_7
See Also:
Constant Field Values

VK_8

public static final int VK_8
See Also:
Constant Field Values

VK_9

public static final int VK_9
See Also:
Constant Field Values

VK_SEMICOLON

public static final int VK_SEMICOLON
See Also:
Constant Field Values

VK_EQUALS

public static final int VK_EQUALS
See Also:
Constant Field Values

VK_A

public static final int VK_A
VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A)

See Also:
Constant Field Values

VK_B

public static final int VK_B
See Also:
Constant Field Values

VK_C

public static final int VK_C
See Also:
Constant Field Values

VK_D

public static final int VK_D
See Also:
Constant Field Values

VK_E

public static final int VK_E
See Also:
Constant Field Values

VK_F

public static final int VK_F
See Also:
Constant Field Values

VK_G

public static final int VK_G
See Also:
Constant Field Values

VK_H

public static final int VK_H
See Also:
Constant Field Values

VK_I

public static final int VK_I
See Also:
Constant Field Values

VK_J

public static final int VK_J
See Also:
Constant Field Values

VK_K

public static final int VK_K
See Also:
Constant Field Values

VK_L

public static final int VK_L
See Also:
Constant Field Values

VK_M

public static final int VK_M
See Also:
Constant Field Values

VK_N

public static final int VK_N
See Also:
Constant Field Values

VK_O

public static final int VK_O
See Also:
Constant Field Values

VK_P

public static final int VK_P
See Also:
Constant Field Values

VK_Q

public static final int VK_Q
See Also:
Constant Field Values

VK_R

public static final int VK_R
See Also:
Constant Field Values

VK_S

public static final int VK_S
See Also:
Constant Field Values

VK_T

public static final int VK_T
See Also:
Constant Field Values

VK_U

public static final int VK_U
See Also:
Constant Field Values

VK_V

public static final int VK_V
See Also:
Constant Field Values

VK_W

public static final int VK_W
See Also:
Constant Field Values

VK_X

public static final int VK_X
See Also:
Constant Field Values

VK_Y

public static final int VK_Y
See Also:
Constant Field Values

VK_Z

public static final int VK_Z
See Also:
Constant Field Values

VK_OPEN_BRACKET

public static final int VK_OPEN_BRACKET
See Also:
Constant Field Values

VK_BACK_SLASH

public static final int VK_BACK_SLASH
See Also:
Constant Field Values

VK_CLOSE_BRACKET

public static final int VK_CLOSE_BRACKET
See Also:
Constant Field Values

VK_NUMPAD0

public static final int VK_NUMPAD0
See Also:
Constant Field Values

VK_NUMPAD1

public static final int VK_NUMPAD1
See Also:
Constant Field Values

VK_NUMPAD2

public static final int VK_NUMPAD2
See Also:
Constant Field Values

VK_NUMPAD3

public static final int VK_NUMPAD3
See Also:
Constant Field Values

VK_NUMPAD4

public static final int VK_NUMPAD4
See Also:
Constant Field Values

VK_NUMPAD5

public static final int VK_NUMPAD5
See Also:
Constant Field Values

VK_NUMPAD6

public static final int VK_NUMPAD6
See Also:
Constant Field Values

VK_NUMPAD7

public static final int VK_NUMPAD7
See Also:
Constant Field Values

VK_NUMPAD8

public static final int VK_NUMPAD8
See Also:
Constant Field Values

VK_NUMPAD9

public static final int VK_NUMPAD9
See Also:
Constant Field Values

VK_MULTIPLY

public static final int VK_MULTIPLY
See Also:
Constant Field Values

VK_ADD

public static final int VK_ADD
See Also:
Constant Field Values

VK_SEPARATER

public static final int VK_SEPARATER
This constant is obsolete, and is included only for backwards compatibility.

See Also:
VK_SEPARATOR, Constant Field Values

VK_SEPARATOR

public static final int VK_SEPARATOR
Constant for the Numpad Separator key.

Since:
1.4
See Also:
Constant Field Values

VK_SUBTRACT

public static final int VK_SUBTRACT
See Also:
Constant Field Values

VK_DECIMAL

public static final int VK_DECIMAL
See Also:
Constant Field Values

VK_DIVIDE

public static final int VK_DIVIDE
See Also:
Constant Field Values

VK_DELETE

public static final int VK_DELETE
See Also:
Constant Field Values

VK_NUM_LOCK

public static final int VK_NUM_LOCK
See Also:
Constant Field Values

VK_SCROLL_LOCK

public static final int VK_SCROLL_LOCK
See Also:
Constant Field Values

VK_F1

public static final int VK_F1
Constant for the F1 function key.

See Also:
Constant Field Values

VK_F2

public static final int VK_F2
Constant for the F2 function key.

See Also:
Constant Field Values

VK_F3

public static final int VK_F3
Constant for the F3 function key.

See Also:
Constant Field Values

VK_F4

public static final int VK_F4
Constant for the F4 function key.

See Also:
Constant Field Values

VK_F5

public static final int VK_F5
Constant for the F5 function key.

See Also:
Constant Field Values

VK_F6

public static final int VK_F6
Constant for the F6 function key.

See Also:
Constant Field Values

VK_F7

public static final int VK_F7
Constant for the F7 function key.

See Also:
Constant Field Values

VK_F8

public static final int VK_F8
Constant for the F8 function key.

See Also:
Constant Field Values

VK_F9

public static final int VK_F9
Constant for the F9 function key.

See Also:
Constant Field Values

VK_F10

public static final int VK_F10
Constant for the F10 function key.

See Also:
Constant Field Values

VK_F11

public static final int VK_F11
Constant for the F11 function key.

See Also:
Constant Field Values

VK_F12

public static final int VK_F12
Constant for the F12 function key.

See Also:
Constant Field Values

VK_F13

public static final int VK_F13
Constant for the F13 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F14

public static final int VK_F14
Constant for the F14 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F15

public static final int VK_F15
Constant for the F15 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F16

public static final int VK_F16
Constant for the F16 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F17

public static final int VK_F17
Constant for the F17 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F18

public static final int VK_F18
Constant for the F18 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F19

public static final int VK_F19
Constant for the F19 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F20

public static final int VK_F20
Constant for the F20 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F21

public static final int VK_F21
Constant for the F21 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F22

public static final int VK_F22
Constant for the F22 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F23

public static final int VK_F23
Constant for the F23 function key.

Since:
1.2
See Also:
Constant Field Values

VK_F24

public static final int VK_F24
Constant for the F24 function key.

Since:
1.2
See Also:
Constant Field Values

VK_PRINTSCREEN

public static final int VK_PRINTSCREEN
See Also:
Constant Field Values

VK_INSERT

public static final int VK_INSERT
See Also:
Constant Field Values

VK_HELP

public static final int VK_HELP
See Also:
Constant Field Values

VK_META

public static final int VK_META
See Also:
Constant Field Values

VK_BACK_QUOTE

public static final int VK_BACK_QUOTE
See Also:
Constant Field Values

VK_QUOTE

public static final int VK_QUOTE
See Also:
Constant Field Values

VK_KP_UP

public static final int VK_KP_UP
Constant for the numeric keypad up arrow key.

Since:
1.2
See Also:
VK_UP, Constant Field Values

VK_KP_DOWN

public static final int VK_KP_DOWN
Constant for the numeric keypad down arrow key.

Since:
1.2
See Also:
VK_DOWN, Constant Field Values

VK_KP_LEFT

public static final int VK_KP_LEFT
Constant for the numeric keypad left arrow key.

Since:
1.2
See Also:
VK_LEFT, Constant Field Values

VK_KP_RIGHT

public static final int VK_KP_RIGHT
Constant for the numeric keypad right arrow key.

Since:
1.2
See Also:
VK_RIGHT, Constant Field Values

VK_DEAD_GRAVE

public static final int VK_DEAD_GRAVE
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_ACUTE

public static final int VK_DEAD_ACUTE
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_CIRCUMFLEX

public static final int VK_DEAD_CIRCUMFLEX
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_TILDE

public static final int VK_DEAD_TILDE
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_MACRON

public static final int VK_DEAD_MACRON
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_BREVE

public static final int VK_DEAD_BREVE
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_ABOVEDOT

public static final int VK_DEAD_ABOVEDOT
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_DIAERESIS

public static final int VK_DEAD_DIAERESIS
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_ABOVERING

public static final int VK_DEAD_ABOVERING
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_DOUBLEACUTE

public static final int VK_DEAD_DOUBLEACUTE
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_CARON

public static final int VK_DEAD_CARON
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_CEDILLA

public static final int VK_DEAD_CEDILLA
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_OGONEK

public static final int VK_DEAD_OGONEK
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_IOTA

public static final int VK_DEAD_IOTA
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_VOICED_SOUND

public static final int VK_DEAD_VOICED_SOUND
Since:
1.2
See Also:
Constant Field Values

VK_DEAD_SEMIVOICED_SOUND

public static final int VK_DEAD_SEMIVOICED_SOUND
Since:
1.2
See Also:
Constant Field Values

VK_AMPERSAND

public static final int VK_AMPERSAND
Since:
1.2
See Also:
Constant Field Values

VK_ASTERISK

public static final int VK_ASTERISK
Since:
1.2
See Also:
Constant Field Values

VK_QUOTEDBL

public static final int VK_QUOTEDBL
Since:
1.2
See Also:
Constant Field Values

VK_LESS

public static final int VK_LESS
Since:
1.2
See Also:
Constant Field Values

VK_GREATER

public static final int VK_GREATER
Since:
1.2
See Also:
Constant Field Values

VK_BRACELEFT

public static final int VK_BRACELEFT
Since:
1.2
See Also:
Constant Field Values

VK_BRACERIGHT

public static final int VK_BRACERIGHT
Since:
1.2
See Also:
Constant Field Values

VK_AT

public static final int VK_AT
Constant for the "@" key.

Since:
1.2
See Also:
Constant Field Values

VK_COLON

public static final int VK_COLON
Constant for the ":" key.

Since:
1.2
See Also:
Constant Field Values

VK_CIRCUMFLEX

public static final int VK_CIRCUMFLEX
Constant for the "^" key.

Since:
1.2
See Also:
Constant Field Values

VK_DOLLAR

public static final int VK_DOLLAR
Constant for the "$" key.

Since:
1.2
See Also:
Constant Field Values

VK_EURO_SIGN

public static final int VK_EURO_SIGN
Constant for the Euro currency sign key.

Since:
1.2
See Also:
Constant Field Values

VK_EXCLAMATION_MARK

public static final int VK_EXCLAMATION_MARK
Constant for the "!" key.

Since:
1.2
See Also:
Constant Field Values

VK_INVERTED_EXCLAMATION_MARK

public static final int VK_INVERTED_EXCLAMATION_MARK
Constant for the inverted exclamation mark key.

Since:
1.2
See Also:
Constant Field Values

VK_LEFT_PARENTHESIS

public static final int VK_LEFT_PARENTHESIS
Constant for the "(" key.

Since:
1.2
See Also:
Constant Field Values

VK_NUMBER_SIGN

public static final int VK_NUMBER_SIGN
Constant for the "#" key.

Since:
1.2
See Also:
Constant Field Values

VK_PLUS

public static final int VK_PLUS
Constant for the "+" key.

Since:
1.2
See Also:
Constant Field Values

VK_RIGHT_PARENTHESIS

public static final int VK_RIGHT_PARENTHESIS
Constant for the ")" key.

Since:
1.2
See Also:
Constant Field Values

VK_UNDERSCORE

public static final int VK_UNDERSCORE
Constant for the "_" key.

Since:
1.2
See Also:
Constant Field Values

VK_FINAL

public static final int VK_FINAL
See Also:
Constant Field Values

VK_CONVERT

public static final int VK_CONVERT
Constant for the Convert function key.

See Also:
Constant Field Values

VK_NONCONVERT

public static final int VK_NONCONVERT
Constant for the Don't Convert function key.

See Also:
Constant Field Values

VK_ACCEPT

public static final int VK_ACCEPT
Constant for the Accept or Commit function key.

See Also:
Constant Field Values

VK_MODECHANGE

public static final int VK_MODECHANGE
See Also:
Constant Field Values

VK_KANA

public static final int VK_KANA
See Also:
Constant Field Values

VK_KANJI

public static final int VK_KANJI
See Also:
Constant Field Values

VK_ALPHANUMERIC

public static final int VK_ALPHANUMERIC
Constant for the Alphanumeric function key.

Since:
1.2
See Also:
Constant Field Values

VK_KATAKANA

public static final int VK_KATAKANA
Constant for the Katakana function key.

Since:
1.2
See Also:
Constant Field Values

VK_HIRAGANA

public static final int VK_HIRAGANA
Constant for the Hiragana function key.

Since:
1.2
See Also:
Constant Field Values

VK_FULL_WIDTH

public static final int VK_FULL_WIDTH
Constant for the Full-Width Characters function key.

Since:
1.2
See Also:
Constant Field Values

VK_HALF_WIDTH

public static final int VK_HALF_WIDTH
Constant for the Half-Width Characters function key.

Since:
1.2
See Also:
Constant Field Values

VK_ROMAN_CHARACTERS

public static final int VK_ROMAN_CHARACTERS
Constant for the Roman Characters function key.

Since:
1.2
See Also:
Constant Field Values

VK_ALL_CANDIDATES

public static final int VK_ALL_CANDIDATES
Constant for the All Candidates function key.

Since:
1.2
See Also:
Constant Field Values

VK_PREVIOUS_CANDIDATE

public static final int VK_PREVIOUS_CANDIDATE
Constant for the Previous Candidate function key.

Since:
1.2
See Also:
Constant Field Values

VK_CODE_INPUT

public static final int VK_CODE_INPUT
Constant for the Code Input function key.

Since:
1.2
See Also:
Constant Field Values

VK_JAPANESE_KATAKANA

public static final int VK_JAPANESE_KATAKANA
Constant 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:
Constant Field Values

VK_JAPANESE_HIRAGANA

public static final int VK_JAPANESE_HIRAGANA
Constant 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:
Constant Field Values

VK_JAPANESE_ROMAN

public static final int VK_JAPANESE_ROMAN
Constant 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:
Constant Field Values

VK_KANA_LOCK

public static final int VK_KANA_LOCK
Constant for the locking Kana function key. This key locks the keyboard into a Kana layout.

Since:
1.3
See Also:
Constant Field Values

VK_INPUT_METHOD_ON_OFF

public static final int VK_INPUT_METHOD_ON_OFF
Constant for the input method on/off key.

Since:
1.3
See Also:
Constant Field Values

VK_CUT

public static final int VK_CUT
Since:
1.2
See Also:
Constant Field Values

VK_COPY

public static final int VK_COPY
Since:
1.2
See Also:
Constant Field Values

VK_PASTE

public static final int VK_PASTE
Since:
1.2
See Also:
Constant Field Values

VK_UNDO

public static final int VK_UNDO
Since:
1.2
See Also:
Constant Field Values

VK_AGAIN

public static final int VK_AGAIN
Since:
1.2
See Also:
Constant Field Values

VK_FIND

public static final int VK_FIND
Since:
1.2
See Also:
Constant Field Values

VK_PROPS

public static final int VK_PROPS
Since:
1.2
See Also:
Constant Field Values

VK_STOP

public static final int VK_STOP
Since:
1.2
See Also:
Constant Field Values

VK_COMPOSE

public static final int VK_COMPOSE
Constant for the Compose function key.

Since:
1.2
See Also:
Constant Field Values

VK_ALT_GRAPH

public static final int VK_ALT_GRAPH
Constant for the AltGraph function key.

Since:
1.2
See Also:
Constant Field Values

VK_UNDEFINED

public static final int VK_UNDEFINED
This 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:
Constant Field Values

CHAR_UNDEFINED

public static final char CHAR_UNDEFINED
KEY_PRESSED and KEY_RELEASED events which do not map to a valid Unicode character use this for the keyChar value.

See Also:
Constant Field Values

KEY_LOCATION_UNKNOWN

public static final int KEY_LOCATION_UNKNOWN
A 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:
Constant Field Values

KEY_LOCATION_STANDARD

public static final 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).

Since:
1.4
See Also:
Constant Field Values

KEY_LOCATION_LEFT

public static final 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). Example: the left shift key.

Since:
1.4
See Also:
Constant Field Values

KEY_LOCATION_RIGHT

public static final 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). Example: the right shift key.

Since:
1.4
See Also:
Constant Field Values

KEY_LOCATION_NUMPAD

public static final 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.

Since:
1.4
See Also:
Constant Field Values

keyCode

int keyCode
The unique value assigned to each of the keys on the keyboard. There is a common set of key codes that can be fired by most keyboards. The symbolic name for a key code should be used rather than the code value itself.

See Also:
getKeyCode(), setKeyCode(int)

keyChar

char keyChar
keyChar is a valid unicode character that is fired by a key or a key combination on a keyboard.

See Also:
getKeyChar(), setKeyChar(char)

keyLocation

int keyLocation
The location of the key on the keyboard. 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 variable is used to distinguish such keys. The only legal values are KEY_LOCATION_UNKNOWN, KEY_LOCATION_STANDARD, KEY_LOCATION_LEFT, KEY_LOCATION_RIGHT, and KEY_LOCATION_NUMPAD.

See Also:
getKeyLocation()

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

KeyEvent

private KeyEvent(Component source,
                 int id,
                 long when,
                 int modifiers,
                 int keyCode,
                 char keyChar,
                 int keyLocation,
                 boolean isProxyActive)
Constructs a KeyEvent object.

Note that passing in an invalid id results in unspecified behavior.

Parameters:
source - the Component that originated the event
id - an integer identifying the type of event
when - a long integer that specifies the time the event occurred
modifiers - the modifier keys down during event (shift, ctrl, alt, meta) Either extended _DOWN_MASK or old _MASK modifiers should be used, but both models should not be mixed in one event. Use of the extended modifiers is preferred.
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)
keyLocation - identifies the key location. The only legal values are KEY_LOCATION_UNKNOWN, KEY_LOCATION_STANDARD, KEY_LOCATION_LEFT, KEY_LOCATION_RIGHT, and KEY_LOCATION_NUMPAD.
Throws:
IllegalArgumentException - if id is KEY_TYPED and keyChar is CHAR_UNDEFINED; or if id is KEY_TYPED and keyCode is not VK_UNDEFINED; or if id is KEY_TYPED and keyLocation is not KEY_LOCATION_UNKNOWN; or if keyLocation is not one of the legal values enumerated above.
Since:
1.4

KeyEvent

public KeyEvent(Component source,
                int id,
                long when,
                int modifiers,
                int keyCode,
                char keyChar,
                int keyLocation)

KeyEvent

public KeyEvent(Component source,
                int id,
                long when,
                int modifiers,
                int keyCode,
                char keyChar)
Constructs a KeyEvent object.

Note that passing in an invalid id results in unspecified behavior.

Parameters:
source - the Component that originated the event
id - an integer identifying the type of event
when - a long integer that specifies the time the event occurred
modifiers - the modifier keys down during event (shift, ctrl, alt, meta) Either extended _DOWN_MASK or old _MASK modifiers should be used, but both models should not be mixed in one event. Use of the extended modifiers is preferred.
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)
Throws:
IllegalArgumentException - if id is KEY_TYPED and keyChar is CHAR_UNDEFINED; or if id is KEY_TYPED and keyCode is not VK_UNDEFINED

KeyEvent

public KeyEvent(Component source,
                int id,
                long when,
                int modifiers,
                int keyCode)
Deprecated. as of JDK1.1

Method Detail

initIDs

private static void initIDs()
Initialize JNI field and method IDs for fields that may be accessed from C.


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 is VK_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, the key-typed event for shift + "a" returns the value for "A".

Returns:
the Unicode character defined for this key event. If no valid Unicode character exists for this key event, keyChar is CHAR_UNDEFINED.

setKeyChar

public void setKeyChar(char keyChar)
Set the keyChar value to indicate a logical character.

Parameters:
keyChar - a char corresponding to to the combination of keystrokes that make up this event.

setModifiers

public void setModifiers(int modifiers)
Deprecated. as of JDK1.1.4

Set 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:
InputEvent

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 for KEY_TYPED events.
Since:
1.4

getKeyText

public static String getKeyText(int keyCode)
Returns a String describing the keyCode, such as "HOME", "F1" or "A". These strings can be localized by changing the awt.properties file.

Returns:
a string containing a text description for a physical key, identified by its keyCode

getKeyModifiersText

public static String getKeyModifiersText(int modifiers)
Returns a String describing the modifier key(s), such as "Shift", or "Ctrl+Shift". These strings can be localized by changing the awt.properties file.

Returns:
string a text description of the combination of modifier keys that were held down during the event

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

public String paramString()
Returns a parameter string identifying this event. This method is useful for event logging and for debugging.

Overrides:
paramString in class ComponentEvent
Returns:
a string identifying the event and its attributes

setNewModifiers

private void setNewModifiers()
Sets new modifiers by the old ones. The key modifiers override overlaping mouse modifiers.


setOldModifiers

private void setOldModifiers()
Sets old modifiers by the new ones.


readObject

private void readObject(ObjectInputStream s)
                 throws IOException,
                        ClassNotFoundException
Sets new modifiers by the old ones. The key modifiers override overlaping mouse modifiers.

Throws:
IOException
ClassNotFoundException