A java.awt.event.KeyEvent is sent to a component when a key is pressed while the component has the focus. There are three types of key events, each represented by an integer constant:

KeyEvent.KEY_PRESSED A key was pressed
KeyEvent.KEY_RELEASED A key was released
KeyEvent.KEY_TYPED A key press followed by a key release.

Most of the time you'll only respond to the last event, KeyEvent.KEY_TYPED.

The main thing you want to know about a KeyEvent is what key was pressed. You get this with the getKeyChar() method.

public char getKeyChar()

This returns the Unicode character corresponding to the pressed key.

A KEY_PRESSED or KEY_RELEASED event doesn't just have a character. It also has a key code. (KEY_TYPED events do not have key codes. More precisely the key code is undefined.) If you're concerned about the key that was pressed, rather than the character that was typed, you'll ask the key event for its key code rather than its key char. You get the code for a KeyEvent by calling getKeyCode():

public int getKeyCode()

You can convert this into a localized string such as "END", "F4" or "Q" by passing it to the static method, KeyEvent.getKeyText():

public static String getKeyText(int keyCode)

Generally you respond to key events directed at your component, by registering a KeyListener object with the component. The KeyListener interface defines the following methods, one for each type of KeyEvent.

  public abstract void keyTyped(KeyEvent evt)
  public abstract void keyPressed(KeyEvent evt)
  public abstract void keyReleased(KeyEvent evt)

Previous | Next | Top | Cafe au Lait

Copyright 1997, 1998 Elliotte Rusty Harold
Last Modified April 26, 2006