Clase KeyEvent
Se produce un KeyEvent al pulsar sobre el teclado. Como el teclado no es un componente del AWT, es el objeto que tiene el focus en ese momento quien genera los eventos KeyEvent (el objeto que es el event source).
Hay dos tipos de KeyEvents:
1. key-typed, que representa la introducción de un carácter Unicode.
2. key-pressed y key-released, que representan pulsar o soltar una tecla. Son importantes para teclas que no representan caracteres, como por ejemplo F1.
Para estudiar estos eventos son muy importantes las Virtual KeyCodes (VKC). Las VKC son unas constantes que se corresponden con las teclas físicas del teclado, sin considerar minúsculas (que no tienen VKC). Se indican con el prefijo VK_, como VK_SHIFT o VK_A. La clase KeyEvent (en el package java.awt.event) define constantes VKC para todas las teclas del teclado.
Por ejemplo, para escribir la letra «A» mayúscula se generan 5 eventos: key-pressed VK_SHIFT, key-pressed VK_A, key-typed «A», key-released VK_A, y key-released VK_SHIFT. La Tabla 5.24 muestra algunos métodos de la clase KeyEvent y otros heredados de InputEvent.
Las constantes de InputEvent permiten identificar las teclas modificadoras y los botones del ratón. Estas constantes son SHIFT_MASK, CTRL_MASK, META_MASK y ALT_MASK. A estas constantes se pueden aplicar las operaciones lógicas de bits para detectar combinaciones de teclas o pulsaciones múltiples.
Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra