Está en la página 1de 22

AWT y manejo de

eventos
Modelo de eventos en java
• Los eventos los generan los componentes
• Deben ser procesados por objetos que implementan la
interfaz EventListener
• Conectan con el código para el procesamiento de la
funcionalidad del componente gráfico
En java el modelo de eventos no viene predeterminada a los
componentes awt.
Pero existen una serie de clases que apoyan a este fin: event
listeners.
Los event listeners son los manejadores de los eventos.
Lógica de eventos
• Event Source: El componente que
genera el evento, por ejemplo un
botón al dar click sobre él.
• Event Object: Es un objeto que se
genera al momento de ocurrir el
evento, en este objeto se
empaqueta la información del
mismo, como por ejemplo el
botón del ratón que fue
presionado.
• Event Listener: Es una interface
Java cuyos métodos abstractos te
permiten implementar el manejo
de eventos.
Gerarquía EventListener
Ejercicio 1
• En el mismo proyecto de ayer hacer una clase de nombre EventoSimple
que implemente la interfaz ActionListener. (código dos diapositivas
adelante)
• Implementaremos el método actionPerformed().
• Implementar en la Clase Ventana de la clase de ayer.
• En la siguiente diapositiva se puede observar la jerarquía de estas. Están
agrupadas entre interfaces Listener y las clases abstractas Adapters.
• Por ahora usaremos los Listener’s, ya que son la forma básica de
implementar eventos. Mas adelante usaremos los Adapters que no son
mas que una implementación de los Listeners.
Ejemplo: Configurar Listener
Fuente de eventos
• Se conoce como fuente de eventos (event source) a
todo aquel componente de hardware (raton, teclado,
etc) o software (botón, ventana, caja de texto, etc.) que
es capaz de enviar evento.
• La información del evento es enviada en un objeto de
tipo EventObject al Manejador de eventos
• Este último utiliza la información recibida para
implementar el procesamiento del evento.
Ejercicio 2: Agregar eventos para el
botón y textField.
• Realizar el código de las siguientes 3 diapositivas en las que se
implementan eventos para el botón y el campo de texto.
Implementando eventos específicos
Continuación
Jerarquía de eventos
Organizados dentro del paquete java.awt.event
Los Listeners escuchan cualquiera de estos
eventos:
• Cada tipo de evento tiene asociada una interfaz que define las
firmas de los métodos de manejo.
• Cuando ocurre un evento el objeto fuente necesita llamar a un
manejador de eventos
• Cada evento tiene asociada una interfaz listener que definde los
manejadores de eventos.
• Cuando ya disponemos del objeto fuente y del objeto receptor es
necesario asociarlos

objetoFuenteEventos.addEventListener (objetoReceptorEventos)
• Como se puede observar en los códigos de las clases EventosRaton y
EventosTexto, los métodos que no son empleados se quedan vacíos.
Esto es por que la Interfaz Java nos obliga a implementarlos todos,
aunque no se usen.
• Para resolver esto, java ceo un conjunto de clases abstractas que
implementan dichas interfaces Listener. De tal forma que se puede
Heredar y sobre-escribir los métodos que únicamente se van a usar.
• Para ejemplificar esto vamos a cambiar la forma de implementar los
eventos haciendo una segunda versión de la clase EventosBoton.
Adaptadores de
eventos
Para evitar la implementación de todas las
interfaces de los listener se desarrollaron las
clases xxxAdapter, que ya tienen
implementadas todos los métodos de las
interfaces listener.
Ejercicio 3
Ejercicio 3 (cont.)
Ejercicio 3(cont.)
Conclusión
• Como se puede observar es mas simple usar los Adapters y como se
ve en la jerarquía hay adapter para los diferentes eventos.
• MouseAdapter (eventos del ratón)
• WindowAdapter (eventos de ventana)
• KeyAdapter (eventos del teclado)
• Etc.
• En la sesión a distancia de mañana haremos un ejemplo completo
para la tecnología AWT.
Tarea
• Entregar los codigos en un archivo word, código y capturas de pantalla de las
ejecuciones.

• El formato del nombre del archivo es:

NombreApellidoPater_Eventos.docx

• Ejemplo:
• JesusHernandez_Eventos.docx.

También podría gustarte