## Manejo de Eventos Estándard del AWT

Esta sección te cuenta cómo escribir un oyente para cada clase de evento que define el AWT 1.1. Primero te ofrece una introducción a los oyentes del AWT. Después cada tipo de oyente es explicado en su propia sub-sección.

En la tabla que sigue, cada fila describe un grupo particular de eventos que corresponde a un interface oyente. La primera columna da el nombre del interface oyente, con un enlace a la página del tutorial que lo describe. La segunda columna nombra la clase adaptador correspondiente, si la hay. (Para una explicación sobre la utilización de los adaptadores, puedes ver la página anterior.) La tercera columna lista los métodos que contiene el interface oyente.

Para saber qué componentes del AWT 1.1 generan qué tipos de eventos puedes ver, Eventos Generados por los componentes del AWT.

Interface Oyeente | Clases Adaptador | Métodos
--- | --- | ---
ActionListener | ninguna | actionPerformed(ActionEvent)
AdjustmentListener | ninguna | adjustmentValueChanged(AdjustmentEvent)
ComponentListener | ComponentAdapter | componentHidden(ComponentEvent) componentMoved(ComponentEvent) componentResized(ComponentEvent) componentShown(ComponentEvent)
ContainerListener | ContainerAdapter | componentAdded(ContainerEvent) componentRemoved(ContainerEvent)
FocusListener | FocusAdapter | focusGained(FocusEvent) focusLost(FocusEvent)
ItemListener | ninguna | itemStateChanged(ItemEvent)
KeyListener | KeyAdapter | keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent)
MouseListener | MouseAdapter | mouseClicked(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mousePressed(MouseEvent) mouseReleased(MouseEvent)
MouseMotionListener | MouseMotionAdapter | mouseDragged(MouseEvent) mouseMoved(MouseEvent)
TextListener | ninguna | textValueChanged(TextEvent)
WindowListener | WindowAdapter | windowActivated(WindowEvent) windowClosed(WindowEvent) windowClosing(WindowEvent) windowDeactivated(WindowEvent) windowDeiconified(WindowEvent) windowIconified(WindowEvent) windowOpened(WindowEvent)

Los eventos AWT descritos en la tabla anterior se pueden dividir en dos grupos: eventos de bajo nivel y eventos semánticos. Los eventos de bajo nivel representan las ocurrencias del sistema de ventanas o entradas a bajo nivel, Claramente, los eventos del ratón y del teclado -- ambos son resultado de una entrada directa del usuario -- son eventos de bajo nivel.

Los eventos de componentes, contenedores, foco y ventanas, también son eventos de bajo nivel. Los eventos de componente te permiten seguir los cambios de posición, tamaño y visibilidad de un componente. Los eventos de contenedor te permiten conocer si se ha añadido o eliminado cualquier componente a un contenedor particular. Los eventos de foco, te dicen cuando un componente obtiene o pierde el foco del teclado -- la habilidad de recibir caracteres tecleados en el teclado. Los eventos de ventana te mantienen informado sobre el estado de cualquier clase de Window, como un Dialog o un Frame.

Los eventos del ratón se dividen en dos grupos -- eventos de movimiento del ratón y el resto -- por lo que un objeto puede oir los eventos del ratón para las pulsaciones sin tener que sobrecargar el sistema generando y enviando eventos de movimiento del ratón, lo que tiende a ocurrir frecuentemente.

Los eventos semánticos incluyen los eventos de acción, ajuste, ítem, y texto. Estos eventos son el resultado de una interacción del usuario con un componente específico. Por ejemplo, un botón genera un evento acción cuando el usuario lo pulsa, y una lista genera un evento acción cuando el usuario hace doble click sobre un ítem. Los eventos de ajuste ocurren cuando un usuario cambia del valor de una barra de desplazamiento de cualquier forma. Cuando un usuario selecciona un ítem de un grupo de elementos (como una lista) se genera un evento de ítem. Los eventos de texto ocurren siempre que se cambia el texto dentro de un área o campo de texto.

Las siguientes páginas explican con más detalles cada tipo de evento.

Ozito