Manejo de Eventos Comunes

Esta sección explica cómo podemos escribir un oyente para eventos que puedan ser generados por un componente Swing. Primero ofrece una introducción a los oyentes. Después, cada tipo de oyente se explica en su propia página.

En la tabla que sigue, cada fila describe un grupo de eventos particular correspondiente a un interface oyente. La primer columna ofrece el nombre el interface, con un enlace a la página del tutorial que lo describe. La segunda columna nombra la correspondiente clase adaptador, si existe. La tercera columna indica el paquete en que se definen el interface, la clase event y la case adaptador. La cuarta columna lista los métodos que contiene el interface.

Para ver los tipos de eventos que pueden generar los componentes Swing, puedes volver a la página: see Eventos Generados por Componentes Swing.

InterfaceClase AdaptadorPaqueteMétodos
ActionListener ninguna java.awt.event actionPerformed
CaretListener ninguna javax.swing.event caretUpdate
ChangeListener ninguna javax.swing.event stateChanged
ComponentListener ComponentAdapter java.awt.event componentHidden
componentMoved
componentResized
componentShown
ContainerListener ContainerAdapter java.awt.event componentAdded
componentRemoved
DocumentListener ninguna javax.swing.event changedUpdate
insertUpdate
removeUpdate
FocusListener FocusAdapter java.awt.event focusGained
focusLost
InternalFrameListener InternalFrameAdapter javax.swing.event internalFrameActivated
internalFrameClosed
internalFrameClosing
internalFrameDeactivated
internalFrameDeiconified
internalFrameIconified
internalFrameOpened
ItemListener ninguna java.awt.event itemStateChanged
KeyListener KeyAdapter java.awt.event keyPressed
keyReleased
keyTyped
ListSelectionListener ninguna javax.swing.event valueChanged
MouseListener MouseAdapter
MouseInputAdapter *
java.awt.event
javax.swing.event
mouseClicked
mouseEntered
mouseExited
mousePressed
mouseReleased
MouseMotionListener MouseMotionAdapter
MouseInputAdapter *
java.awt.event
javax.swing.event
mouseDragged
mouseMoved
UndoableEditListener none javax.swing.event undoableEditHappened
WindowListener WindowAdapter java.awt.event windowActivated
windowClosed
windowClosing
windowDeactivated
windowDeiconified
windowIconified
windowOpened
* Swing proporciona la clase MouseInputAdapter por conveniencia. Implementa los interfaces MouseListener y MouseMotionListener haciendo más fácil para nosotros el manejo de ambos tipos de eventos.

Los eventos descritos en la tabla anterior pueden dividirse en dos grupos: eventos de bajo nivel y eventos semánticos. Los eventos de bajo nivel representan las ocurrencias del sistema windows o entradas de bajo nivel. Claramente, los eventos de ratón y de tecla -- ambos como resultado de la entrada directa del usuario -- son eventos de bajo nivel.

Los eventos component, container, focus, y window también son de bajo nivel. Los eventos Component permite seguir los cambios en la posición, el tamaño y visibilidad del componente. El evento Container permite conocer cuando se añade o elimina cualquier componente a un contenedor particular. El evento Focus indica cuando un componente gana o pierde el foco del teclado -- la habilidad de recibir caracteres pulsados en el teclado. Los eventos windows nos informan del estado básico de cualquier ventana, como un Dialog o un Frame.

Los eventos de ratón se dividen en dos grupos -- mouse motion y mouse -- por eso un objeto puede escuchar eventos de mouse como las pulsaciones sin necesidad de sobrecargar el sistema intentando conocer exactamente los movimientos del ratón, lo que tiende a ocurrir frecuentemente.

Los eventos semánticos incluyen los eventos action, change, document, e item. Estos eventos son el resultado de una interación específica del usuario con un componente expecífico. Por ejemplo, un botón genera un evento action cuando el usuario lo pulsa, y una lista genera un evento action cuando el usuario hace doble clicj sobre uno de sus ítems. Cuando un usuarui selecciona un ítem de entre un grupo de ítems (como una lista), se genera un evento item.


Ozito