Oyentes de acción múltiple en Java
Este artículo nos enseñará cómo crear múltiples oyentes de acción en Java.
En Java, ActionListener
es una clase para manejar los eventos de acción. Entonces, Java proporciona esta interfaz mediante la cual podemos encontrar dónde el usuario hizo clic en el botón y generar algún evento para realizar una acción como imprimir algo o calcular algo cada vez que se hace clic en el botón.
Entonces, aquí veremos cómo crear múltiples detectores de acción para múltiples botones en nuestro proyecto Java Swing.
Primero, veamos cómo escribir un oyente de acción.
Escribir un ActionListener
en Java
En Java, el paquete java.awt.event
contiene la interfaz ActionListener
que contiene solo actionPerformed()
. Como es una interfaz, la forma común de escribir el ActionListener
es implementando la interfaz ActionListener
.
Tenemos que seguir estos pasos al implementar el ActionListener
.
-
Nuestra clase debe implementar la interfaz
ActionListener
.public class test implements ActionListener
-
Agregue el componente como un botón con el oyente.
Button b = new Button("Click Here"); b.addActionListener(this);
-
El último paso es anular el único método de interfaz, es decir, el método
actionPerformed()
.
Código de ejemplo:
import java.awt.*;
import java.awt.event.*;
public class test implements ActionListener // 1st step
{
public test() // constructor
{
Button b = new Button("Click Here");
// 2nd step
b.addActionListener(this);
// our code.....
}
// 3rd step
public void actionPerformed(ActionEvent evt) {
// our code
}
public static void main(String args[]) {
Test t = new Test();
}
}
A veces también se utilizan clases anónimas para implementar el ActionListener
; es la forma preferida ya que es una forma fácil y concisa de escribir.
Button b = new Button("Click Here");
b.addActionListner(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
// some action
}
});
Oyentes de acción múltiple en Java
Podemos crear múltiples oyentes de acción simplemente extendiendo las cosas discutidas anteriormente.
Código de ejemplo: uso de clases anónimas
JButton multiplyButton = new JButton(new AbstractAction("multiply") {
@Override
public void actionPerformed(ActionEvent evt) {
// some action
}
});
JButton divideButton = new JButton(new AbstractAction("divide") {
@Override
public void actionPerformed(ActionEvent evt) {
// some action
}
});