Si se acuerdan en el tutorial anterior, habíamos agregado un boton, el cual al apretarlo cambiaba el valor de JLabel, que pasa si quisiéramos agregar otro boton que haga algo diferente, para hacerlo es demasiado sencillo, solo deberemos agregar unos condicionales if a nuestro método que maneja los eventos (actionPerformed).
El programa tendrá 3 botones, si damos click en alguno de ellos, se cambiara el valor de un JLabel, dicho valor, dirá cual botón fue el que se pulso.
El programa tendrá 3 botones, si damos click en alguno de ellos, se cambiara el valor de un JLabel, dicho valor, dirá cual botón fue el que se pulso.
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class Ventana extends JFrame implements ActionListener{ private JLabel label; private JButton boton1, boton2, boton3; public Ventana(){ setTitle("JButton tutorial");//Titulo de la ventana setBounds(200,200,400,150);//Posicion y tamaño de la ventana: X, Y, Width, Height setResizable(false);//La ventana no se podra redimensionar setLayout(null);//Ningun layout, trabajaremos con coordenadas setDefaultCloseOperation(EXIT_ON_CLOSE);//Al cerrar la ventana se cerrara completamente label = new JLabel("Ningun boton se ha pulsado");//Creamos el label y le pasamos el nombre como parametro label.setBounds(10,10,200,20);//Lo posicionamos: X, Y, Width, Height add(label);//Agregamos el label a la ventana boton1 = new JButton("Boton 1");//Creamos el boton1 boton1.setBounds(10,50,100,30);//Los posicionamos y le damos tamaño boton1.addActionListener(this);//Lo agregamos al Listener add(boton1);//Lo agregamos a la ventana boton2 = new JButton("Boton 2");//Creamos el boton2 boton2.setBounds(130,50,100,30);//Los posicionamos y le damos tamaño boton2.addActionListener(this);//Lo agregamos al Listener add(boton2);//Lo agregamos a la ventana boton3 = new JButton("Boton 3");//Creamos el boton3 boton3.setBounds(250,50,100,30);//Los posicionamos y le damos tamaño boton3.addActionListener(this);//Lo agregamos al Listener add(boton3);//Lo agregamos a la ventana setVisible(true);//Una vez creada la ventana, la hacemos visible } public void actionPerformed(ActionEvent e){ if(e.getSource() == boton1){//Comprobamos si se pulso el boton1 label.setText("Se ha pulsado el boton 1");//Cambiamos el valor del JLabel "label" } else if(e.getSource() == boton2){//Comprobamos si se pulso el boton2 label.setText("Se ha pulsado el boton 2");//Cambiamos el valor del JLabel "label" } else{//Si no se pulso ninguno de los anteriores,entonces fue el 3 label.setText("Se ha pulsado el boton 3");//Cambiamos el valor del JLabel "label" } } public static void main(String[] args) { Ventana v = new Ventana(); } }
Recuerden importar todo lo que usaremos.
Crearemos 4 variables de clases, 3 JButton y un JLabel:
private JLabel label; private JButton boton1, boton2, boton3;
Tal como hicimos en el tutorial anterior, creamos el botón, lo posicionamos, le damos tamaño, lo agregamos al Listener y lo agregamos, como queremos agregar 3 botones, pues haremos este proceso 3 veces:
boton1 = new JButton("Boton 1");//Creamos el boton1 boton1.setBounds(10,50,100,30);//Los posicionamos y le damos tamaño boton1.addActionListener(this);//Lo agregamos al Listener add(boton1);//Lo agregamos a la ventana boton2 = new JButton("Boton 2");//Creamos el boton2 boton2.setBounds(130,50,100,30);//Los posicionamos y le damos tamaño boton2.addActionListener(this);//Lo agregamos al Listener add(boton2);//Lo agregamos a la ventana boton3 = new JButton("Boton 3");//Creamos el boton3 boton3.setBounds(250,50,100,30);//Los posicionamos y le damos tamaño boton3.addActionListener(this);//Lo agregamos al Listener add(boton3);//Lo agregamos a la ventana
Ahora llega la parte que queríamos. Para manejar varios botones deberemos modificar el método actionPerformed, deberemos agregar un condicional para cada caso:
if(e.getSource == boton1){/*Haremos esto*/}
e.getSource() obtiene el botón, y nosotros estamos comprobando, si el botón pulsado es el boton1 pues haremos algo:
public void actionPerformed(ActionEvent e){ if(e.getSource() == boton1){//Comprobamos si se pulso el boton1 label.setText("Se ha pulsado el boton 1");//Cambiamos el valor del JLabel "label" } else if(e.getSource() == boton2){//Comprobamos si se pulso el boton2 label.setText("Se ha pulsado el boton 2");//Cambiamos el valor del JLabel "label" } else{//Si no se pulso ninguno de los anteriores,entonces fue el 3 label.setText("Se ha pulsado el boton 3");//Cambiamos el valor del JLabel "label" } }
Si ejecutamos el código completo, deberíamos ver algo como esto:
Bueno gente, eso fue todo, los espero en el siguiente tutorial.
Cualquier duda comentar.
No hay comentarios:
Publicar un comentario