Artículos
Java

Detectar botón pulsado con Java Swing

12/Nov/2016

Ya hemos visto lo sencillo que es controlar cuando nos pulsan un botón en Java Swing. Pero qué sucede cuando tenemos varios botones en nuestro formulario. Vamos a ver cómo detectar botón pulsado con Java Swing en el caso de que tengamos varios.

Así que lo primero será construir nuestro formulario Java Swing extendiendo de la clase JFrame.

public class BotonPulsado extends JFrame { ... }

Sobre este formulario vamos a añadir tres botones. Dichos botones los vamos a construir mediante su clase JButton.

private JButton b1, b2, b3;

b1 = new JButton("Botón 1");
b2 = new JButton("Botón 2");
b3 = new JButton("Botón 3");

Ahora añadimos a los botones al JFrame mediante el método .add().

add(b1);
add(b2);
add(b3);

Para darle más funcionalidad a nuestro ejemplo de cómo detectar botón pulsado con Java Swing vamos a añadir una etiqueta o JLabel dónde escribiremos el nombre del botón que fue pulsado.

private JLabel etiqueta;

etiqueta = new JLabel("");
add(etiqueta);

Ahora vamos a crear un ActionListener para cada botón, es decir, le diremos qué clase es la que maneja cuando sea pulsado. Esto lo hacemos mediante el método .addActionListener().

b1.addActionListener(new BotonPulsadoListener());
b2.addActionListener(new BotonPulsadoListener());
b3.addActionListener(new BotonPulsadoListener());

Podríamos crear una clase ActionListener para cada botón, pero eso nos llevaría a tener mucho código, así que para optimizarlo vamos a crear una única clase BotonPulsadoListener que descubrirá que botón fue puslado.

Así creamos una clase privada en nuestra clase principal que implemente el ActionListener.

private class BotonPulsadoListener implements ActionListener{ ... }

El método principal del ActionListener es .actionPerformed() que es el método que se ejecuta ante un click. Este método recibe un ActionEvent. Este objeto ActionEvent es el que contiene diferente información, entre esta información tenemos el nombre del botón que fue pulsado. Esto lo tenemos en el método .getActionCommand().

private class BotonPulsadoListener implements ActionListener{		

  @Override
  public void actionPerformed(ActionEvent e) {
    etiqueta.setText("Has pulsado el botón " + e.getActionCommand());			
  }					
}

Hemos utilizado el método .setText() sobre la etiqueta para poder cambiar e indicar el nombre al detectar botón pulsado con Java Swing.

Código Fuente

Descárgate el código fuente de Detectar botón pulsado con Java Swing
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios