Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt.event
Class KeyEvent

    java.lang.Object
      |
      +--java.util.EventObject
            |
            +--java.awt.AWTEvent
                  |
                  +--java.awt.event.ComponentEvent
                        |
                        +--java.awt.event.InputEvent
                              |
                              +--java.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 character is entered, and are the preferred way to find out about character input. In the simplest case, a key typed event is produced by a single key press (e.g., 'a'). Often, however, characters are produced by series of key presses (e.g., 'shift' + 'a'), and the mapping from key pressed events to key typed events may be many-to-one or many-to-many. Key releases are not usually necessary to generate a key typed event, but there are some cases where the key typed event is not generated until a key is released (e.g., entering ASCII sequences via the Alt-Numpad method in Windows). No key typed events are generated for keys that don't generate characters (e.g., action keys, modifier keys, etc.). The getKeyChar method always returns a valid Unicode character or CHAR_UNDEFINED. For key pressed and key released events, the getKeyCode method returns the event's keyCode. For key typed events, the getKeyCode method always returns VK_UNDEFINED.

"Key pressed" and "key released" events are lower-level and depend on the platform and keyboard layout. They are generated whenever a key is pressed or released, and are the only way to find out about keys that don't generate character input (e.g., action keys, modifier keys, etc.). The key being pressed or released is indicated by the getKeyCode method, which returns a virtual key code.

Virtual key codes are used to report which keyboard key has been pressed, rather than a character generated by the combination of one or more keystrokes (like "A", which comes from shift and "a").

For example, pressing the Shift key will cause a KEY_PRESSED event with a VK_SHIFT keyCode, while pressing the 'a' key will result in a VK_A keyCode. After the 'a' key is released, a KEY_RELEASED event will be fired with VK_A. Separately, a KEY_TYPED event with a keyChar value of 'A' is generated.

Notes:

- Key combinations which do not result in 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 artificially generate these keys.
- Virtual key codes do not identify a physical key, they depend on the platform and keyboard layout. For example, the key that on a Windows U.S. keyboard layout generates VK_Q, generates VK_A on a Windows French keyboard layout.
- 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 modifer.

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
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.
`static int` | `KEY_FIRST` The first number in the range of ids used for key events.
`static int` | `KEY_LAST` The last number in the range of ids used for key events.
`static int` | `KEY_PRESSED` The "key pressed" event.
`static int` | `KEY_RELEASED` The "key released" event.
`static int` | `KEY_TYPED` The "key typed" event.
`static int` | `VK_0` VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39)
`static int` | `VK_1`
`static int` | `VK_2`
`static int` | `VK_3`
`static int` | `VK_4`
`static int` | `VK_5`
`static int` | `VK_6`
`static int` | `VK_7`
`static int` | `VK_8`
`static int` | `VK_9`
`static int` | `VK_A` VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A)
`static int` | `VK_ACCEPT` Constant for the Accept or Commit function key.
`static int` | `VK_ADD`
`static int` | `VK_AGAIN`
`static int` | `VK_ALL_CANDIDATES` Constant for the All Candidates function key.
`static int` | `VK_ALPHANUMERIC` Constant for the Alphanumeric function key.
`static int` | `VK_ALT`
`static int` | `VK_ALT_GRAPH` Constant for the AltGraph function key.
`static int` | `VK_AMPERSAND`
`static int` | `VK_ASTERISK`
`static int` | `VK_AT` Constant for the "@" key.
`static int` | `VK_B`
`static int` | `VK_BACK_QUOTE`
`static int` | `VK_BACK_SLASH`
`static int` | `VK_BACK_SPACE`
`static int` | `VK_BRACELEFT`
`static int` | `VK_BRACERIGHT`
`static int` | `VK_C`
`static int` | `VK_CANCEL`
`static int` | `VK_CAPS_LOCK`
`static int` | `VK_CIRCUMFLEX` Constant for the "^" key.
`static int` | `VK_CLEAR`
`static int` | `VK_CLOSE_BRACKET`
`static int` | `VK_CODE_INPUT` Constant for the Code Input function key.
`static int` | `VK_COLON` Constant for the ":" key.
`static int` | `VK_COMMA`
`static int` | `VK_COMPOSE` Constant for the Compose function key.
`static int` | `VK_CONTROL`
`static int` | `VK_CONVERT` Constant for the Convert function key.
`static int` | `VK_COPY`
`static int` | `VK_CUT`
`static int` | `VK_D`
`static int` | `VK_DEAD_ABOVEDOT`
`static int` | `VK_DEAD_ABOVERING`
`static int` | `VK_DEAD_ACUTE`
`static int` | `VK_DEAD_BREVE`
`static int` | `VK_DEAD_CARON`
`static int` | `VK_DEAD_CEDILLA`
`static int` | `VK_DEAD_CIRCUMFLEX`
`static int` | `VK_DEAD_DIAERESIS`
`static int` | `VK_DEAD_DOUBLEACUTE`
`static int` | `VK_DEAD_GRAVE`
`static int` | `VK_DEAD_IOTA`
`static int` | `VK_DEAD_MACRON`
`static int` | `VK_DEAD_OGONEK`
`static int` | `VK_DEAD_SEMIVOICED_SOUND`
`static int` | `VK_DEAD_TILDE`
`static int` | `VK_DEAD_VOICED_SOUND`
`static int` | `VK_DECIMAL`
`static int` | `VK_DELETE`
`static int` | `VK_DIVIDE`
`static int` | `VK_DOLLAR` Constant for the "$" key.
`static int` | `VK_DOWN`
`static int` | `VK_E`
`static int` | `VK_END`
`static int` | `VK_ENTER`
`static int` | `VK_EQUALS`
`static int` | `VK_ESCAPE`
`static int` | `VK_EURO_SIGN` Constant for the Euro currency sign key.
`static int` | `VK_EXCLAMATION_MARK` Constant for the "!" key.
`static int` | `VK_F`
`static int` | `VK_F1` Constant for the F1 function key.
`static int` | `VK_F10` Constant for the F10 function key.
`static int` | `VK_F11` Constant for the F11 function key.
`static int` | `VK_F12` Constant for the F12 function key.
`static int` | `VK_F13` Constant for the F13 function key.
`static int` | `VK_F14` Constant for the F14 function key.
`static int` | `VK_F15` Constant for the F15 function key.
`static int` | `VK_F16` Constant for the F16 function key.
`static int` | `VK_F17` Constant for the F17 function key.
`static int` | `VK_F18` Constant for the F18 function key.
`static int` | `VK_F19` Constant for the F19 function key.
`static int` | `VK_F2` Constant for the F2 function key.
`static int` | `VK_F20` Constant for the F20 function key.
`static int` | `VK_F21` Constant for the F21 function key.
`static int` | `VK_F22` Constant for the F22 function key.
`static int` | `VK_F23` Constant for the F23 function key.
`static int` | `VK_F24` Constant for the F24 function key.
`static int` | `VK_F3` Constant for the F3 function key.
`static int` | `VK_F4` Constant for the F4 function key.
`static int` | `VK_F5` Constant for the F5 function key.
`static int` | `VK_F6` Constant for the F6 function key.
`static int` | `VK_F7` Constant for the F7 function key.
`static int` | `VK_F8` Constant for the F8 function key.
`static int` | `VK_F9` Constant for the F9 function key.
`static int` | `VK_FINAL`
`static int` | `VK_FIND`
`static int` | `VK_FULL_WIDTH` Constant for the Full-Width Characters function key.
`static int` | `VK_G`
`static int` | `VK_GREATER`
`static int` | `VK_H`
`static int` | `VK_HALF_WIDTH` Constant for the Half-Width Characters function key.
`static int` | `VK_HELP`
`static int` | `VK_HIRAGANA` Constant for the Hiragana function key.
`static int` | `VK_HOME`
`static int` | `VK_I`
`static int` | `VK_INPUT_METHOD_ON_OFF` Constant for the input method on/off key.
`static int` | `VK_INSERT`
`static int` | `VK_INVERTED_EXCLAMATION_MARK` Constant for the inverted exclamation mark key.
`static int` | `VK_J`
`static int` | `VK_JAPANESE_HIRAGANA` Constant for the Japanese-Hiragana function key.
`static int` | `VK_JAPANESE_KATAKANA` Constant for the Japanese-Katakana function key.
`static int` | `VK_JAPANESE_ROMAN` Constant for the Japanese-Roman function key.
`static int` | `VK_K`
`static int` | `VK_KANA`
`static int` | `VK_KANA_LOCK` Constant for the locking Kana function key.
`static int` | `VK_KANJI`
`static int` | `VK_KATAKANA` Constant for the Katakana function key.
`static int` | `VK_KP_DOWN` Constant for the key pad arrow down function key.
`static int` | `VK_KP_LEFT` Constant for the key pad arrow left function key.
`static int` | `VK_KP_RIGHT` Constant for the key pad arrow right function key.
`static int` | `VK_KP_UP` Constant for the key pad arrow up function key.
`static int` | `VK_L`
`static int` | `VK_LEFT`
`static int` | `VK_LEFT_PARENTHESIS` Constant for the "(" key.
`static int` | `VK_LESS`
`static int` | `VK_M`
`static int` | `VK_META`
`static int` | `VK_MINUS` Constant for the "-" key.
`static int` | `VK_MODECHANGE`
`static int` | `VK_MULTIPLY`
`static int` | `VK_N`
`static int` | `VK_NONCONVERT` Constant for the Don't Convert function key.
`static int` | `VK_NUM_LOCK`
`static int` | `VK_NUMBER_SIGN` Constant for the "#" key.
`static int` | `VK_NUMPAD0`
`static int` | `VK_NUMPAD1`
`static int` | `VK_NUMPAD2`
`static int` | `VK_NUMPAD3`
`static int` | `VK_NUMPAD4`
`static int` | `VK_NUMPAD5`
`static int` | `VK_NUMPAD6`
`static int` | `VK_NUMPAD7`
`static int` | `VK_NUMPAD8`
`static int` | `VK_NUMPAD9`
`static int` | `VK_O`
`static int` | `VK_OPEN_BRACKET`
`static int` | `VK_P`
`static int` | `VK_PAGE_DOWN`
`static int` | `VK_PAGE_UP`
`static int` | `VK_PASTE`
`static int` | `VK_PAUSE`
`static int` | `VK_PERIOD`
`static int` | `VK_PLUS` Constant for the "+" key.
`static int` | `VK_PREVIOUS_CANDIDATE` Constant for the Previous Candidate function key.
`static int` | `VK_PRINTSCREEN`
`static int` | `VK_PROPS`
`static int` | `VK_Q`
`static int` | `VK_QUOTE`
`static int` | `VK_QUOTEDBL`
`static int` | `VK_R`
`static int` | `VK_RIGHT`
`static int` | `VK_RIGHT_PARENTHESIS` Constant for the ")" key.
`static int` | `VK_ROMAN_CHARACTERS` Constant for the Roman Characters function key.
`static int` | `VK_S`
`static int` | `VK_SCROLL_LOCK`
`static int` | `VK_SEMICOLON`
`static int` | `VK_SEPARATER`
`static int` | `VK_SHIFT`
`static int` | `VK_SLASH`
`static int` | `VK_SPACE`
`static int` | `VK_STOP`
`static int` | `VK_SUBTRACT`
`static int` | `VK_T`
`static int` | `VK_TAB`
`static int` | `VK_U`
`static int` | `VK_UNDEFINED` KEY_TYPED events do not have a keyCode value.
`static int` | `VK_UNDERSCORE` Constant for the "_" key.
`static int` | `VK_UNDO`
`static int` | `VK_UP`
`static int` | `VK_V`
`static int` | `VK_W`
`static int` | `VK_X`
`static int` | `VK_Y`
`static int` | `VK_Z`

Fields inherited from class java.awt.event.InputEvent
`ALT_GRAPH_MASK, ALT_MASK, BUTTON1_MASK, BUTTON2_MASK, BUTTON3_MASK, CTRL_MASK, META_MASK, SHIFT_MASK`

Fields inherited from class java.awt.event.ComponentEvent
`COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`

Fields inherited from class java.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, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK`

Fields inherited from class java.util.EventObject
`source`

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

Method Summary
`char` | `getKeyChar()` Returns the character associated with the key in this event.
`int` | `getKeyCode()` Returns the integer key-code associated with the key in this event.
`static String` | `getKeyModifiersText(int modifiers)` Returns a String describing the modifier key(s), such as "Shift", or "Ctrl+Shift".
`static String` | `getKeyText(int keyCode)` Returns a String describing the keyCode, such as "HOME", "F1" or "A".
`boolean` | `isActionKey()` Returns whether or not the key in this event is an "action" key, as defined in Event.java.
`String` | `paramString()` Returns a parameter string identifying this event.
`void` | `setKeyChar(char keyChar)` Set the keyChar value to indicate a logical character.
`void` | `setKeyCode(int keyCode)` Set the keyCode value to indicate a physical key.
`void` | `setModifiers(int modifiers)` Set the modifiers to indicate additional keys that were held down (shift, ctrl, alt, meta) defined as part of InputEvent.
`void` | `setSource(Object newSource)` Set the source of this KeyEvent.

Methods inherited from class java.awt.event.InputEvent
`consume, getModifiers, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown`

Methods inherited from class java.awt.event.ComponentEvent
`getComponent`

Methods inherited from class java.awt.AWTEvent
`finalize, getID, toString`

Methods inherited from class java.util.EventObject
`getSource`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### KEY_FIRST

    public static final int KEY_FIRST

  The first number in the range of ids used for key events.

### KEY_LAST

    public static final int KEY_LAST

  The last number in the range of ids used for key events.

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

### KEY_PRESSED

    public static final int KEY_PRESSED

  The "key pressed" event. This event is generated when a key is pushed down.

### KEY_RELEASED

    public static final int KEY_RELEASED

  The "key released" event. This event is generated when a key is let up.

### VK_ENTER

    public static final int VK_ENTER

### VK_BACK_SPACE

    public static final int VK_BACK_SPACE

### VK_TAB

    public static final int VK_TAB

### VK_CANCEL

    public static final int VK_CANCEL

### VK_CLEAR

    public static final int VK_CLEAR

### VK_SHIFT

    public static final int VK_SHIFT

### VK_CONTROL

    public static final int VK_CONTROL

### VK_ALT

    public static final int VK_ALT

### VK_PAUSE

    public static final int VK_PAUSE

### VK_CAPS_LOCK

    public static final int VK_CAPS_LOCK

### VK_ESCAPE

    public static final int VK_ESCAPE

### VK_SPACE

    public static final int VK_SPACE

### VK_PAGE_UP

    public static final int VK_PAGE_UP

### VK_PAGE_DOWN

    public static final int VK_PAGE_DOWN

### VK_END

    public static final int VK_END

### VK_HOME

    public static final int VK_HOME

### VK_LEFT

    public static final int VK_LEFT

### VK_UP

    public static final int VK_UP

### VK_RIGHT

    public static final int VK_RIGHT

### VK_DOWN

    public static final int VK_DOWN

### VK_COMMA

    public static final int VK_COMMA

### VK_MINUS

    public static final int VK_MINUS

  Constant for the "-" key.
  Since:
    1.2

### VK_PERIOD

    public static final int VK_PERIOD

### VK_SLASH

    public static final int VK_SLASH

### VK_0

    public static final int VK_0

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

### VK_1

    public static final int VK_1

### VK_2

    public static final int VK_2

### VK_3

    public static final int VK_3

### VK_4

    public static final int VK_4

### VK_5

    public static final int VK_5

### VK_6

    public static final int VK_6

### VK_7

    public static final int VK_7

### VK_8

    public static final int VK_8

### VK_9

    public static final int VK_9

### VK_SEMICOLON

    public static final int VK_SEMICOLON

### VK_EQUALS

    public static final int VK_EQUALS

### VK_A

    public static final int VK_A

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

### VK_B

    public static final int VK_B

### VK_C

    public static final int VK_C

### VK_D

    public static final int VK_D

### VK_E

    public static final int VK_E

### VK_F

    public static final int VK_F

### VK_G

    public static final int VK_G

### VK_H

    public static final int VK_H

### VK_I

    public static final int VK_I

### VK_J

    public static final int VK_J

### VK_K

    public static final int VK_K

### VK_L

    public static final int VK_L

### VK_M

    public static final int VK_M

### VK_N

    public static final int VK_N

### VK_O

    public static final int VK_O

### VK_P

    public static final int VK_P

### VK_Q

    public static final int VK_Q

### VK_R

    public static final int VK_R

### VK_S

    public static final int VK_S

### VK_T

    public static final int VK_T

### VK_U

    public static final int VK_U

### VK_V

    public static final int VK_V

### VK_W

    public static final int VK_W

### VK_X

    public static final int VK_X

### VK_Y

    public static final int VK_Y

### VK_Z

    public static final int VK_Z

### VK_OPEN_BRACKET

    public static final int VK_OPEN_BRACKET

### VK_BACK_SLASH

    public static final int VK_BACK_SLASH

### VK_CLOSE_BRACKET

    public static final int VK_CLOSE_BRACKET

### VK_NUMPAD0

    public static final int VK_NUMPAD0

### VK_NUMPAD1

    public static final int VK_NUMPAD1

### VK_NUMPAD2

    public static final int VK_NUMPAD2

### VK_NUMPAD3

    public static final int VK_NUMPAD3

### VK_NUMPAD4

    public static final int VK_NUMPAD4

### VK_NUMPAD5

    public static final int VK_NUMPAD5

### VK_NUMPAD6

    public static final int VK_NUMPAD6

### VK_NUMPAD7

    public static final int VK_NUMPAD7

### VK_NUMPAD8

    public static final int VK_NUMPAD8

### VK_NUMPAD9

    public static final int VK_NUMPAD9

### VK_MULTIPLY

    public static final int VK_MULTIPLY

### VK_ADD

    public static final int VK_ADD

### VK_SEPARATER

    public static final int VK_SEPARATER

### VK_SUBTRACT

    public static final int VK_SUBTRACT

### VK_DECIMAL

    public static final int VK_DECIMAL

### VK_DIVIDE

    public static final int VK_DIVIDE

### VK_DELETE

    public static final int VK_DELETE

### VK_NUM_LOCK

    public static final int VK_NUM_LOCK

### VK_SCROLL_LOCK

    public static final int VK_SCROLL_LOCK

### VK_F1

    public static final int VK_F1

  Constant for the F1 function key.

### VK_F2

    public static final int VK_F2

  Constant for the F2 function key.

### VK_F3

    public static final int VK_F3

  Constant for the F3 function key.

### VK_F4

    public static final int VK_F4

  Constant for the F4 function key.

### VK_F5

    public static final int VK_F5

  Constant for the F5 function key.

### VK_F6

    public static final int VK_F6

  Constant for the F6 function key.

### VK_F7

    public static final int VK_F7

  Constant for the F7 function key.

### VK_F8

    public static final int VK_F8

  Constant for the F8 function key.

### VK_F9

    public static final int VK_F9

  Constant for the F9 function key.

### VK_F10

    public static final int VK_F10

  Constant for the F10 function key.

### VK_F11

    public static final int VK_F11

  Constant for the F11 function key.

### VK_F12

    public static final int VK_F12

  Constant for the F12 function key.

### VK_F13

    public static final int VK_F13

  Constant for the F13 function key.
  Since:
    1.2

### VK_F14

    public static final int VK_F14

  Constant for the F14 function key.
  Since:
    1.2

### VK_F15

    public static final int VK_F15

  Constant for the F15 function key.
  Since:
    1.2

### VK_F16

    public static final int VK_F16

  Constant for the F16 function key.
  Since:
    1.2

### VK_F17

    public static final int VK_F17

  Constant for the F17 function key.
  Since:
    1.2

### VK_F18

    public static final int VK_F18

  Constant for the F18 function key.
  Since:
    1.2

### VK_F19

    public static final int VK_F19

  Constant for the F19 function key.
  Since:
    1.2

### VK_F20

    public static final int VK_F20

  Constant for the F20 function key.
  Since:
    1.2

### VK_F21

    public static final int VK_F21

  Constant for the F21 function key.
  Since:
    1.2

### VK_F22

    public static final int VK_F22

  Constant for the F22 function key.
  Since:
    1.2

### VK_F23

    public static final int VK_F23

  Constant for the F23 function key.
  Since:
    1.2

### VK_F24

    public static final int VK_F24

  Constant for the F24 function key.
  Since:
    1.2

### VK_PRINTSCREEN

    public static final int VK_PRINTSCREEN

### VK_INSERT

    public static final int VK_INSERT

### VK_HELP

    public static final int VK_HELP

### VK_META

    public static final int VK_META

### VK_BACK_QUOTE

    public static final int VK_BACK_QUOTE

### VK_QUOTE

    public static final int VK_QUOTE

### VK_KP_UP

    public static final int VK_KP_UP

  Constant for the key pad arrow up function key.
  Since:
    1.2

### VK_KP_DOWN

    public static final int VK_KP_DOWN

  Constant for the key pad arrow down function key.
  Since:
    1.2

### VK_KP_LEFT

    public static final int VK_KP_LEFT

  Constant for the key pad arrow left function key.
  Since:
    1.2

### VK_KP_RIGHT

    public static final int VK_KP_RIGHT

  Constant for the key pad arrow right function key.
  Since:
    1.2

### VK_DEAD_GRAVE

    public static final int VK_DEAD_GRAVE

  Since:
    1.2

### VK_DEAD_ACUTE

    public static final int VK_DEAD_ACUTE

  Since:
    1.2

### VK_DEAD_CIRCUMFLEX

    public static final int VK_DEAD_CIRCUMFLEX

  Since:
    1.2

### VK_DEAD_TILDE

    public static final int VK_DEAD_TILDE

  Since:
    1.2

### VK_DEAD_MACRON

    public static final int VK_DEAD_MACRON

  Since:
    1.2

### VK_DEAD_BREVE

    public static final int VK_DEAD_BREVE

  Since:
    1.2

### VK_DEAD_ABOVEDOT

    public static final int VK_DEAD_ABOVEDOT

  Since:
    1.2

### VK_DEAD_DIAERESIS

    public static final int VK_DEAD_DIAERESIS

  Since:
    1.2

### VK_DEAD_ABOVERING

    public static final int VK_DEAD_ABOVERING

  Since:
    1.2

### VK_DEAD_DOUBLEACUTE

    public static final int VK_DEAD_DOUBLEACUTE

  Since:
    1.2

### VK_DEAD_CARON

    public static final int VK_DEAD_CARON

  Since:
    1.2

### VK_DEAD_CEDILLA

    public static final int VK_DEAD_CEDILLA

  Since:
    1.2

### VK_DEAD_OGONEK

    public static final int VK_DEAD_OGONEK

  Since:
    1.2

### VK_DEAD_IOTA

    public static final int VK_DEAD_IOTA

  Since:
    1.2

### VK_DEAD_VOICED_SOUND

    public static final int VK_DEAD_VOICED_SOUND

  Since:
    1.2

### VK_DEAD_SEMIVOICED_SOUND

    public static final int VK_DEAD_SEMIVOICED_SOUND

  Since:
    1.2

### VK_AMPERSAND

    public static final int VK_AMPERSAND

  Since:
    1.2

### VK_ASTERISK

    public static final int VK_ASTERISK

  Since:
    1.2

### VK_QUOTEDBL

    public static final int VK_QUOTEDBL

  Since:
    1.2

### VK_LESS

    public static final int VK_LESS

  Since:
    1.2

### VK_GREATER

    public static final int VK_GREATER

  Since:
    1.2

### VK_BRACELEFT

    public static final int VK_BRACELEFT

  Since:
    1.2

### VK_BRACERIGHT

    public static final int VK_BRACERIGHT

  Since:
    1.2

### VK_AT

    public static final int VK_AT

  Constant for the "@" key.
  Since:
    1.2

### VK_COLON

    public static final int VK_COLON

  Constant for the ":" key.
  Since:
    1.2

### VK_CIRCUMFLEX

    public static final int VK_CIRCUMFLEX

  Constant for the "^" key.
  Since:
    1.2

### VK_DOLLAR

    public static final int VK_DOLLAR

  Constant for the "$" key.
  Since:
    1.2

### VK_EURO_SIGN

    public static final int VK_EURO_SIGN

  Constant for the Euro currency sign key.
  Since:
    1.2

### VK_EXCLAMATION_MARK

    public static final int VK_EXCLAMATION_MARK

  Constant for the "!" key.
  Since:
    1.2

### VK_INVERTED_EXCLAMATION_MARK

    public static final int VK_INVERTED_EXCLAMATION_MARK

  Constant for the inverted exclamation mark key.
  Since:
    1.2

### VK_LEFT_PARENTHESIS

    public static final int VK_LEFT_PARENTHESIS

  Constant for the "(" key.
  Since:
    1.2

### VK_NUMBER_SIGN

    public static final int VK_NUMBER_SIGN

  Constant for the "#" key.
  Since:
    1.2

### VK_PLUS

    public static final int VK_PLUS

  Constant for the "+" key.
  Since:
    1.2

### VK_RIGHT_PARENTHESIS

    public static final int VK_RIGHT_PARENTHESIS

  Constant for the ")" key.
  Since:
    1.2

### VK_UNDERSCORE

    public static final int VK_UNDERSCORE

  Constant for the "_" key.
  Since:
    1.2

### VK_FINAL

    public static final int VK_FINAL

### VK_CONVERT

    public static final int VK_CONVERT

  Constant for the Convert function key.

### VK_NONCONVERT

    public static final int VK_NONCONVERT

  Constant for the Don't Convert function key.

### VK_ACCEPT

    public static final int VK_ACCEPT

  Constant for the Accept or Commit function key.

### VK_MODECHANGE

    public static final int VK_MODECHANGE

### VK_KANA

    public static final int VK_KANA

### VK_KANJI

    public static final int VK_KANJI

### VK_ALPHANUMERIC

    public static final int VK_ALPHANUMERIC

  Constant for the Alphanumeric function key.
  Since:
    1.2

### VK_KATAKANA

    public static final int VK_KATAKANA

  Constant for the Katakana function key.
  Since:
    1.2

### VK_HIRAGANA

    public static final int VK_HIRAGANA

  Constant for the Hiragana function key.
  Since:
    1.2

### VK_FULL_WIDTH

    public static final int VK_FULL_WIDTH

  Constant for the Full-Width Characters function key.
  Since:
    1.2

### VK_HALF_WIDTH

    public static final int VK_HALF_WIDTH

  Constant for the Half-Width Characters function key.
  Since:
    1.2

### VK_ROMAN_CHARACTERS

    public static final int VK_ROMAN_CHARACTERS

  Constant for the Roman Characters function key.
  Since:
    1.2

### VK_ALL_CANDIDATES

    public static final int VK_ALL_CANDIDATES

  Constant for the All Candidates function key.
  Since:
    1.2

### VK_PREVIOUS_CANDIDATE

    public static final int VK_PREVIOUS_CANDIDATE

  Constant for the Previous Candidate function key.
  Since:
    1.2

### VK_CODE_INPUT

    public static final int VK_CODE_INPUT

  Constant for the Code Input function key.
  Since:
    1.2

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

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

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

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

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

### VK_CUT

    public static final int VK_CUT

  Since:
    1.2

### VK_COPY

    public static final int VK_COPY

  Since:
    1.2

### VK_PASTE

    public static final int VK_PASTE

  Since:
    1.2

### VK_UNDO

    public static final int VK_UNDO

  Since:
    1.2

### VK_AGAIN

    public static final int VK_AGAIN

  Since:
    1.2

### VK_FIND

    public static final int VK_FIND

  Since:
    1.2

### VK_PROPS

    public static final int VK_PROPS

  Since:
    1.2

### VK_STOP

    public static final int VK_STOP

  Since:
    1.2

### VK_COMPOSE

    public static final int VK_COMPOSE

  Constant for the Compose function key.
  Since:
    1.2

### VK_ALT_GRAPH

    public static final int VK_ALT_GRAPH

  Constant for the AltGraph function key.
  Since:
    1.2

### VK_UNDEFINED

    public static final int VK_UNDEFINED

  KEY_TYPED events do not have a keyCode value. This value is used, instead.

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

Constructor Detail

### KeyEvent

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

  Constructs a KeyEvent object.
  Parameters:
    `source` - the Component that originated the event
    `id` - an integer identifying the type of event
    `when` - a long integer that specifys the time the event occurred
    `modifiers` - the modifier keys down during event (shift, ctrl, alt, meta)
    `keyCode` - the integer code for an actual key, or VK_UNDEFINED (for a key-typed event)
    `keyChar` - the Unicode character generated by this event, or CHAR_UNDEFINED (for key-pressed and key-released events which do not map to a valid Unicode character)

### KeyEvent

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

Method Detail

### setSource

    public void setSource(Object newSource)

  Set the source of this KeyEvent. Dispatching this event subsequent to this operation will send this event to the new Object.
  Parameters:
    `newSource` - the KeyEvent's new source.

### getKeyCode

    public int getKeyCode()

  Returns the integer key-code associated with the key in this event.
  Returns:
    the integer code for an actual key on the keyboard. (For KEY_TYPED events, 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.

### 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)

  Set the modifiers to indicate additional keys that were held down (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`

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

### 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:
    string 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 or not the key in this event is an "action" key, as defined in Event.java.
  Returns:
    boolean value, true if the key is an "action" key
  See Also:
    `Event`

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.