Cuando trabajamos con pantallas, debemos estar preparados para recibir eventos. En Swing, un evento es una acción realizada por un usuario; por ejemplo la pulsación de un botón, o la pulsación de una tecla en el teclado.

Reconoceremos como origen del evento el objeto que lo ha generado. Por ejemplo, cuando se presiona un JButton, el evento “click” se crea en el JButton, por lo cual ese será el origen

Para poder recibir los eventos, debemos implementar la interface ActionListener, que solo tiene el método actionPerformed. Las clases que implementan esta interface, pueden ser registradas para recibir eventos.

En cada componente del que deseemos recibir eventos, deberemos registrar la clase que los procesará, o utilizar expresiones lambda para establecer acciones.

Por ejemplo, si queremos que cuando se pulse un botón, se cierre el programa, podríamos hacer:

ejemplo de utilizacion del evento Close en java swing

Para lograrlo, lo que hemos hecho, ha sido añadir una línea registrando un “listener” que en este caso solo era una expresión lambda.

evento close swing

Si quisiéramos realizar alguna acción, también lo podríamos hacer con clases anónimas; algo como

evente swing clase anonima

Aunque no es aconsejable trabajar de esta forma (clases anónimas), en este ejemplo, se crea la clase y se implementa el método actionPerformed en donde indicamos lo que queremos hacer.

Por último, comentar que en cada evento, se recibe un objeto ActionEvent con toda la información acerva del evento producido y su origen, que lo podemos utilizar como en este ejemplo

ActionEvent

Gestión de eventos de ratón en swing

Igual que el teclado genera eventos cuando se pulsan teclas, el ratón, también genera eventos que pueden ser recibidos implementando la interface MouseListener.

Los eventos que se pueden capturar son:

mouseClicked(MouseEvent e); Al pulsar y soltar el botón
mousePressed(MouseEvent e); Al pulsar el botón
mouseReleased(MouseEvent e); Al soltar el botón
mouseEntered(MouseEvent e); Al entrar el puntero de ratón en el área del objeto indicado
mouseExited(MouseEvent e); Al salir el puntero de ratón en el área del objeto indicado

>

A continuación, hemos modificado la clase con la que trabajábamos antes, para incluir los eventos de ratón

java swing eventos raton

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.