| Selector de colores |
| Paso 3: Jerarquía de los Objetos Java que implementan Observer |
Jerarquía de las Interfaces Suscriptoras (listeners)
Los Objetos Suscriptores (oyentes, listeners)
- son instancias de Clases que implementan una o varias Interfaces que manejan eventos. Estas Interfaces son del tipo XxxListener. Estos son algunos ejemplos:
- ActionListener
- eventos de acción que se generan cuando un usuario realiza una acción en un componente
- esta Interfaz se podría decir que es el listener que escucha al evento más típico de un componente.
- por ejemplo
- en un Objeto de tipo Button, es el hecho de hacer clic sobre él
- en un Objeto de tpo TextField, teclear la tecla enter cuando has finalizado de escribir en él
- AdjustmentListener
- eventos de ajuste al activar un componente, como el movimiento de una Barra de Desplazamiento
- KeyListener
- eventos de teclado que suceden cuando un usuario escribe texto con el teclado
- MouseListener
- eventos específicos de ratón para saber cuando por ejemplo se ha presionado o liberado un botón del ratón
- WindowListener
- eventos de ventana generados al aumentar, disminuir, mover o cerrar una ventana
Jerarquía de algunos Objetos publicadores
Los eventos son originados por los Objetos de tipo Component

Para Registrar un Objeto Suscriptor (listener) a un Objeto Publicador
- se invoca a un método llamado addXxxListener(XxxListener) en el componente que publicará el evento, dónde Xxx representa el tipo de evento que va a escuchar (Action, Adjustment, Key, Mouse, Window...). Todos estos métodos toman como argumento los siguientes Objetos Suscriptores:
- this
- nos indica que la clase actual es el suscriptor u oyente del evento.
- cualquier otro Objeto
- siempre que el tipo del Objeto implemente una Interfaz Suscriptora (listener) adecuada
- en Java a esta forma de actuar tambiém se la conoce como modelo por delegación, ya que le podemos delegar a cualquier otro Objeto las acciones a realizar dependiendo del evento recibido
- La Interfaz ActionListener tiene un solo método llamado actionPerformed(...). Todas las Clases que ActionListener implemente deben tener declarado este método de la siguiente forma:
public void actionPerformed(ActionEvent evt) {
// Aquí se maneja el evento
}
|
Jerarquía de los Objetos de tipo evento
Un Objeto Publicador origina un evento que es recibido por uno o más Objetos Suscriptores (oyentes, listeners) registrados, los cuales actúan sobre dicho evento.