Logo Studenta
¡Estudia con miles de materiales!

Vista previa del material en texto

7-11-2014 
 
 
Eventos en JAVA 
Interfaz ActionListener 
Docentes: Freddy Manuel Palacios Toribio & Luis 
Manuel Espinoza Estrada 
UNAN - MANAGUA 
Contenido 
I. Introducción ................................................................................................................................ 2 
II. Tipos de eventos comunes de la GUI e interfaces de escucha ................................................... 3 
III. Cuando ocurre un evento ....................................................................................................... 4 
IV. Cómo funciona el manejo de eventos ..................................................................................... 4 
 
I. Introducción 
Uno de los aspectos más importantes a tomar en cuenta cuando programamos de Java es 
que este dispone de eventos. Por ejemplo cuando una persona da clic sobre un botón se 
desencadena un evento y dependiendo de la programación del botón este realizará una 
acción. 
Según (Dean & Dean, 2009) Un evento es un mensaje que indica al programa 
que algo ha ocurrido. Por ejemplo, si el usuario hace clic en un botón, entonces 
se genera un evento, y le indica al programa que en un botón particular se hizo 
clic. Más formalmente, cuando un usuario hace clic en un botón, se dice que el 
objeto de botón activa un evento. Observe estos ejemplos adicionales de eventos: 
Ilustración 1 - Tomada de Introducción a la programación con Java 
II. Tipos de eventos comunes de la GUI e interfaces de escucha 
 
Ilustración 2 - Tomada de Como programar en Java 
La ilustración 2 muestra una jerarquía que contiene muchas clases de eventos del paquete 
java.awt.event. 
 
 
Según (Deitel & Deitel, 2008) Para cada tipo de objeto evento hay, por lo general, una 
interfaz de escucha de eventos que le corresponde. Un componente de escucha de eventos 
para un evento de GUI es un objeto de una clase que implementa a una o más de las 
interfaces de escucha de eventos de los paquetes java.awt.event y javax.swing.event. 
Muchos de los tipos de componentes de escucha de eventos son comunes para los 
componentes de Swing y de AWT. Dichos tipos se declaran en el paquete java.awt.event, y 
algunos de ellos se muestran en la siguiente ilustración. Los tipos de escucha de eventos 
adicionales, específicos para los componentes de Swing, se declaran en el paquete 
javax.swing.event. 
En este documento trabajaremos con eventos de tipo ActionEvent. 
Cada interfaz de escucha de eventos especifica uno o más métodos manejadores de eventos 
que deben declararse en la clase que implementa a la interfaz. 
III. Cuando ocurre un evento 
Según (Deitel & Deitel, 2008) Cuando ocurre un evento, el componente de la GUI con el 
que el usuario interactuó notifica a sus componentes de escucha registrados, llamando al 
método de manejo de eventos apropiado de cada componente de escucha. Por ejemplo, 
cuando el usuario oprime la tecla Intro en un objeto JTextField, se hace una llamada al 
método actionPerformed del componente de escucha registrado. ¿Cómo se registró el 
manejador de eventos? ¿Cómo sabe el componente de la GUI que debe llamar a 
actionPerformed, en vez de llamar a otro método manejador de eventos? En la siguiente 
sección responderemos a estas preguntas y haremos un diagrama de la interacción. 
 
Ilustración 3 - Tomada de Como programar en Java 
IV. Cómo funciona el manejo de eventos 
(Este texto fue tomado de Como programar en Java de (Deitel & Deitel, 2008) y adaptado para este 
ejemplo) 
Mostraremos cómo funciona el mecanismo de manejo de eventos, utilizando al botón 
agregar del ejemplo siguiente. 
 
 
 
Tenemos dos preguntas sin contestar: 
1. ¿Cómo se registró el manejador de eventos? 
2. ¿Cómo sabe el componente de la GUI que debe llamar a actionPerformed en vez de 
llamar a algún otro método manejador de eventos? 
La primera pregunta se responde mediante el registro de eventos que se lleva a cabo en las 
líneas 50 a 80 de la aplicación. 
1. Registro de eventos 
Cuando se ejecuta la línea 50 de la figura anterior 
agregar.addActionListener(new ActionListener() { … }); 
Se crea un objeto de la clase ActionListener y registra el objeto como el componente de 
escucha para los eventos ActionListener. Mediante el uso de este mecanismo, cada 
componente ligero de GUI de Swing mantiene su propia lista de componentes de escucha 
que se registraron para manejar los eventos del componente. 
2. Invocación del manejador de eventos 
El tipo de componente de escucha de eventos es importante para responder a la segunda 
pregunta: ¿Cómo sabe el componente de la GUI que debe llamar a actionPerformeden vez 
de llamar a otro? Todo componente de la GUI soporta varios tipos de eventos, incluyendo 
eventos de ratón, eventos de tecla y otros más. Cuando ocurre un evento, éste se despacha 
solamente a los componentes de escucha de eventos del tipo apropiado. El despachamiento 
(dispatching) es simplemente el proceso por el cual el componente de la GUI llama a un 
método manejador de eventos en cada uno de sus componentes de escucha registrados para 
el tipo de evento que ocurrió. 
Cada tipo de evento tiene uno o más interfaces de escucha de eventos correspondientes. Por 
ejemplo, los eventos tipo ActionEvent son manejados por objetos ActionListener, los 
eventos tipo MouseEventson manejados por objetos MouseListener y 
MouseMotionListener, y los eventos tipo KeyEventson manejados por objetosKeyListener. 
Cuando ocurre un evento, el componente de la GUI recibe (de la JVM) un ID de evento 
único, el cual especifica el tipo de evento. El componente de la GUI utiliza el ID de evento 
para decidir a cuál tipo de componente de escucha debe despacharse el evento, y para 
decidir cuál método llamar en cada objeto de escucha. Para un ActionEvent, el evento se 
despacha al método actionPerformed de todos los objetos ActionListener registrados (el 
único método en la interfaz ActionListener). En el caso de un MouseEvent, el evento se 
despacha a todos los objetos MouseListener o MouseMotionListener registrados, 
dependiendo del evento de ratón que ocurra. El ID de evento del objeto MouseListener 
determina cuáles de los varios métodos manejadores de eventos de ratón son llamados. 
Todas estas decisiones las administran los componentes de la GUI por usted. Todo lo 
que usted necesita hacer es registrar un manejador de eventos para el tipo de evento 
específico que requiere su aplicación, y el componente de GUI asegurará que se llame 
al método apropiado del manejador de eventos, cuando ocurra el evento. (Deitel & 
Deitel, 2008) 
	I. Introducción
	II. Tipos de eventos comunes de la GUI e interfaces de escucha
	III. Cuando ocurre un evento
	IV. Cómo funciona el manejo de eventos
	1. Registro de eventos
	2. Invocación del manejador de eventos