Escuchadores de eventos Java y cómo funcionan

Un detector de eventos en Java está diseñado para procesar algún tipo de evento: "escucha" un evento, como el clic del mouse del usuario o la pulsación de una tecla, y luego responde en consecuencia. Un detector de eventos debe estar conectado a un objeto de evento que define el evento.

Por ejemplo, componentes gráficos como un JButton o JTextField son conocidos como fuentes de eventos. Esto significa que pueden generar eventos (llamados objetos de evento), Como proporcionar un JButton para que un usuario haga clic, o un JTextField en el que un usuario puede ingresar texto. El trabajo del oyente del evento es captar esos eventos y hacer algo con ellos..

Cómo funcionan los oyentes de eventos

Cada interfaz de escucha de eventos incluye al menos un método utilizado por la fuente de eventos equivalente.

Para esta discusión, consideremos un evento de mouse, es decir, cada vez que un usuario hace clic en algo con un mouse, representado por la clase Java MouseEvent. Para manejar este tipo de evento, primero debe crear un MouseListener clase que implementa el Java MouseListener interfaz. Esta interfaz tiene cinco métodos; implemente el que se relaciona con el tipo de acción del mouse que anticipa que tomará su usuario. Estos son:

  • mouseClicked anulado (MouseEvent e)

    Se invoca cuando se hace clic (presionado y liberado) en un componente del mouse.
  • mouseEntered vacío (MouseEvent e)

    Se invoca cuando el mouse ingresa a un componente.
  • nulo mouseExited (MouseEvent e)

    Se invoca cuando el mouse sale de un componente.
  • nulo mousePressed (MouseEvent e)

    Se invoca cuando se presiona un botón del mouse sobre un componente.
  • mouseReleased vacío (MouseEvent e)

    Se invoca cuando se suelta un botón del mouse en un componente

Como puede ver, cada método tiene un único parámetro de objeto de evento: el evento particular del mouse que está diseñado para manejar. En tus MouseListener clase, tu Registrarse para "escuchar" cualquiera de estos eventos para que esté informado cuando ocurran.

Cuando se desencadena el evento (por ejemplo, el usuario hace clic con el mouse, según el mouseClicked () método anterior), un relevante MouseEvent el objeto que representa ese evento se crea y se pasa al MouseListener objeto registrado para recibirlo. 

Tipos de oyentes de eventos

Los oyentes de eventos están representados por diferentes interfaces, cada una de las cuales está diseñada para procesar un evento equivalente.

Tenga en cuenta que los oyentes de eventos son flexibles, ya que se puede registrar un solo oyente para "escuchar" múltiples tipos de eventos. Esto significa que, para un conjunto similar de componentes que realizan el mismo tipo de acción, un detector de eventos puede manejar todos los eventos.

Estos son algunos de los tipos más comunes:

  • ActionListener: Escucha un ActionEvent, es decir, cuando se hace clic en un elemento gráfico, como un botón o elemento en una lista.
  • ContainerListener: Escucha un Evento de contenedores, que puede ocurrir si el usuario agrega o elimina un objeto de la interfaz.
  • KeyListener: Escucha un Evento clave en el que el usuario presiona, escribe o suelta una tecla.
  • WindowListener: Escucha un WindowEvent, por ejemplo, cuando una ventana está cerrada, activada o desactivada.
  • MouseListener: Escucha un  MouseEvent, como cuando se hace clic o se presiona un mouse.