Saltar la navegación

10.1.- Escuchadores.

Caso práctico

La interfaz gráfica ha sido diseñada, y la aplicación tiene ya su aspecto final. Sin embargo, al hacer clic sobre las opciones del menú, la aplicación no realiza nada. Ana quiere aprender los mecanismos que siguen las aplicaciones para poder capturar los eventos que ocurren en la aplicación y responder a esos eventos ejecutando el código adecuado en cada momento.

Imagen de Ana, una de las protagonistas de nuestros casos prácticos.
Ministerio de Educación y Formación Profesional. (Elaboración propia)



Un escuchador (listener) es el objeto de la clase que implementa la interfaz de escucha de un evento y que contiene el método de respuesta al propio evento. Cuando se produce un determinado evento dentro del aplicación GUI, si se desea responder a esos eventos, la aplicación deberá implementar una serie de métodos que se ejecuten de forma automática cuando se produzca esos eventos. Los métodos que se van a implementar para responder a los diferentes eventos dentro de una aplicación de interfaz gráfica, se definen en unas interfaces denominadas interfaces de escucha.

Cada interfaz de escucha contiene los métodos para gestionar un determinado grupo de eventos. La interfaz de escucha WindowsListener define el formato de los métodos para la gestión de los eventos de ventana, como pueden ser abrir la ventana, cerrarla, maximizarla, minimizarla etc. Algunos de los métodos de WindowsListener son:

  • public void windowActivated(WindowEvent e): Invocado cuando la ventana es la ventana activa.
  • public void windowDesactivated(WindowEvent e): Invocado cuando la ventana deja de ser la ventana activa.
  • public void windowClosing(WindowEvent e): Cuando la ventana se ha cerrado.
  • public void windowClosed(WindowEvent e): Cuando la ventana se minimiza.
  • public void windowIconified(WindowEvent e): Cuando la ventana se restablece.
  • public void windowDeiconified(WindowEvent e): La primera vez que la ventana se minimiza.
  • public void windowOpened(WindowEvent e): La primera vez que la ventana se hace visible.

Cada interfaz de escucha contiene sus propios métodos para la gestión de eventos. Ejemplos de eventos que son generados por componentes de swing son:

  • ActionListener: Captura cierto tipo de acción realizada sobre ciertos componentes. Por ejemplo, pulsar un botón, seleccionar un elemento en una lista desplegable o una opción en un menú.
  • ChangeListener: Registra los cambios sobre ciertos componentes.
  • ItemListener: Recoge el cambio de estado en un componente tipo listas desplegables.
  • MouseListener: Eventos producidos por la manipulación del ratón.
  • MouseMotionListener: Movimiento del ratón sobre un componente.
  • ComponentListener: Visibilidad de componentes.
  • FocusListener: Captura eventos relacionados con la recepción o pérdida del foco.
  • KeyListener: Captura pulsaciones del ratón sobre el componente activo.
  • ListSelectionListener: Selección de elementos dentro de una lista.

Para responder a un evento dentro de una aplicación, deberás definir una clase que interprete la interfaz de escucha correspondiente al tipo de evento que quieras gestionar. A los objetos de esa clase de escucha se les denomina escuchadores.

Si se quiere responder a un determinado evento en una aplicación, hay que crear un objeto que escuche cuando se produce el evento y responda a él.

Autoevaluación

Pregunta

Un manejador de evento.

Respuestas

Es el componente que provoca el evento.

Es el componente que origina el evento.

Recibe un objeto evento, descifrando el evento y procesando lo solicitado por el usuario.

Retroalimentación