Los componentes usan los eventos para generar acciones en respuesta a los cambios del estado permitidos.
Los componentes Java utilizan el modelo de delegación de eventos para gestionar la comunicación entre objetos como hemos visto. Para ilustrar el uso de los eventos en un componente JavaBean añadiremos le añadiremos un comportamiento extra que añadirá un nuevo alumno a la base de datos. Tendrá como especial característica que cada vez que se inserte un alumno nuevo que generará un evento que alerte de esta modificación. Esto que en principio puede parecer redundante no lo es en un entorno multiusuario en el que varios clientes se conecten simultáneamente a la base de datos. Para poder implementar esto necesitarás varias cosas:
- Una clase que implemente los eventos. Esta clase hereda de
java.util.EventObject
. En el ejemplo se llamaráBDModificadaEvent
. - 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étodocapturarBDModificada
de la interfazBDModificadaListener
. También tenemos un objeto de tipoDBModificadaListener
llamado receptor que representa aquellos programas que contienen al componenteAlumnosBean
susceptibles de recibir el evento. - Dos métodos,
addEventoListener
yremoveEventoListener
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.
Finalmente el código de la clase componente queda como aparece en el siguiente enlace: