Saltar la navegación

8.4.- Gestión de eventos.

Esquema de formado por cinco figuras distribuidas de la siguiente manera: En la parte izquierda un óvalo de fondo rosado, en cuyo interior se puede leer “GESTIÓN DE EVENTOS”. A su derecha se abre una figura de llave y encontramos cuatro rectángulos de borde redondeado y fondo verde, distribuidos de arriba a abajo. En el  rectángulo situado en la parte superior se puede leer en su interior “CLASE QUE IMPLEMENTE LOS EVENTOS”. Debajo de éste, otro rectángulo, en cuyo interior se puede leer “INTERFAZ QUE DEFINA LOS MÉTODOS”. Debajo de éste, otro en cuyo interior se puede leer “DOS MÉTODOS: AÑADIR Y ELIMINAR OYENTES”. Debajo de éste, el último rectángulo, en cuyo interior se puede leer “IMPLEMENTAR EL MÉTODO QUE GENERA EL EVENTO”.

Los componentes Java utilizan el modelo de delegación de eventos para gestionar la comunicación entre objetos como hemos visto. Para poder implementar la gestión de eventos necesitabas varias cosas:

  • Una clase que implemente los eventos. Esta clase hereda de java.util.EventObject.
  • Una interfaz que defina los métodos a usar cuando se genere el evento. Implementa java.util.EventListener. En este caso la gestión del evento se hará a través del método capturarFinCuentaAtras.
  • Dos métodos, addEventoListener y removeEventoListener que permitan al componente añadir oyentes y eliminarlos. En principio se deben encargar de que pueda haber varios oyentes. En nuestro caso sólo vamos a tener un oyente, pero se suele implementar para admitir a varios.
  • Implementar el método que lanza el evento, asegurándonos de todos los oyentes reciban el aviso. En este caso lo que se ha hecho es lanzar el método que se creó en la interfaz que describe al oyente:Imagen del código de la gestión de eventos de una clase JavaBeans para crear el componente Temporizador.

Finalmente el código de la clase componente queda como aparece en el siguiente enlace:

Autoevaluación

Pregunta

¿Qué elementos interviene en la implementación de un evento?

Respuestas

Una clase que define el evento.

Una interfaz que define los métodos a implementar.

Una clase que defina el evento y una interfaz que defina los métodos a implementar.

Retroalimentación