MODELO DE EVENTOS
Se basa en que los objetos sobre los que se producen los eventos
(eventsources) registran los objetos que deberán gestionarlos
(eventlisteners), para lo que los listeners necesitan de los métodos
adecuados, y estos se implementan de las interfaces Listener, que se
corresponden con los tipos de eventos que se pueden producir.
El proceso que hay que seguir para crear una aplicación orientada a eventos
con interface gráfica de usuario:
1. Saber los componentes que formarán parte de la interface de
usuario.
2. Crear una clase para la aplicación, que debe contener la función
main().
3. Crear una clase Ventana que extienda de Frame y que responda al
evento WindowClosing().
4. La función main() debe crear un objeto de la clase Ventana, donde
introduciré los componentes y que mostraré por pantalla.
5. Añadir al objeto Ventana los componentes y menús que desee (se
puede hacer desde la función main() o desde el constructor de la
ventana.
6. Definir los objetos Listener (que se encargarán de responder a los
eventos y cuyas clases implementan las distintas interfaces
Listener) para cada uno de los eventos que deban estar
soportados.
7. Implementar los métodos de las interfaces Listener que se vayan a
hacer cargo de la gestión de los eventos.
La superclase EventObject pertenece al paquete java.util, y deriva la clase
AWTEvent, de la que dependen todos los eventos de AWT. Los eventos de
Java se encuentran agrupadas en el paquete java.awt.event, y se pueden
agrupar en:
Eventos de alto nivel: llamados así porque la acción de la que derivan
tiene un significado en sí misma, son los que tienen que ver con clicar
botones o elegir comandos (ActionEvent), cambiar valores en barras
de desplazamiento (AdjustmentEvent), elegir valores (ItemEvents) y
cambiar el texto (TextEvent).
Eventos de bajo nivel: son las acciones elementales que hacen posible
los eventos de alto nivel y que se producen con las operaciones
elementales con componentes (ComponentEvent), con los containers
(ContainerEvent), con pulsar teclas (KeyEvent), con todo lo que tenga
que ver con el uso del ratón (MouseEvent), con obtener o perder el
focus(FocusEvent) y con las operaciones con ventanas
(WindowEvent).
La siguiente tabla muestra los componentes del AWT y los eventos específicos
de cada uno de ellos:
Y esta otra tabla muestra los componentes del AWT y todos los tipos de
eventos que se pueden producir sobre cada uno de ellos (tener en cuenta que
también son específicos de sus superclases):
EVENTOS DEL MOUSE
Interfaces de escucha de eventos MouseListener y MouseMontionListener para manejar eventos de Mouse estos eventos pueden capturarse para cualquier componente de GUI que se derive de java.awt.Component.
Metodos de la interfazMouseListener
public voidmousePressed(MouseEventevento)
Es llamado cuando se oprime un botón en el Mouse.
public voidmouseClicked(MouseEventevento)
Se llama cuando se oprime y se suelta un botón en el mouse.
public voidmouseReleased(MouseEventevento)
Ocurre cuando se suelta un botón en el Mouse.
public voidmouseEntered(MouseEventevento)
Ocurre cuando el cursor entra dentro de los límites del componente.
public voidmouseExited(MouseEventevento)
Ocurre cuando el cursor sale dentro de los límites del componente.
Metodos de la InterfazMouseMontionListener
public voidmouseDragged(MouseEventevento)
ocurre cuando el botón del ratón se oprime mientras el cursor esta sobre un componente y se mueve mientras se mantiene presionado.
public voidmouseMoved(MouseEventevento)
Ocurre al moverse el ratón cuando se encuentra sobre un componente.
Además de estos métodos tenemos la interfaz MouseWheelListener para el uso de la rueda giratoria del Mouse.
mouseWheelMoved(MouseWheelEvent e)
La clase MouseWheelEvent es una subclase de MouseEvent y contiene los métodos que permiten al manejador de eventos obtener la información necesaria acerca de la rotación de la rueda giratoria.
Un mouseEvent contiene la información del Mouse que ocurrió esto incluye coordenadas x e y de la ubicación de donde ocurrió el evento.