Ajuda com Evento no JButton

Olá, quero uma ajuda com um evento…
É o seguinte, quero fazer um programinha e pans, que tenha uma JButton que todas as vezes que eu clicar nele ele vai mudar um JLabel, com a Mensagem “Liga” e “Desliga”…

[code]
import javax.swing.;
import java.awt.
;
import java.awt.event.*;

public class Equipamento extends JFrame {
JLabel status, volume, msg;
boolean ligado, desligado;
JButton bstatus, volmenus, volmais;

public Equipamento () {
super (“Equipamento”);

//Instanciando Objetos
JLabel status = new JLabel ("Desligado");
JLabel volume = new JLabel ("Volume Desligado");
JLabel msg = new JLabel ("Volume:");
JButton bstatus = new JButton ("Liga/Desliga");
JButton volmenus = new JButton ("-");
JButton volmais = new JButton ("+");

//Pegando painel
Container pane = getContentPane();
//Setando painel como nulo
setLayout(null);

//Adicionando Objetos ao Painel
pane.add(status);
pane.add(volume);
pane.add(msg);
pane.add(bstatus);
pane.add(volmenus);
pane.add(volmais);

//Ajustando Objetos
bstatus.setBounds(40,30,103,20); //direita,emcima,largura,altura
status.setBounds(230,30,60,20);
msg.setBounds(170,80,60,20);
volmais.setBounds(50,130,60,20);
volmenus.setBounds(120,130,60,20);
volume.setBounds(220,130,150,20);

//EVENTO DO BOTÃO BSTATUS
bstatus.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        status.setVisible(true);
        status.setText("Ligado");
        repaint();
       
       //Daí morri aqui :(

}
});

//Operacao de fechar janela
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300); //Ajuste do tamanho da tela
this.setVisible(true); //Tela Visivel
this.setResizable(false);

}

public static void main (String [] args){
Equipamento windows = new Equipamento();

}
}[/code]

Não sei como faço pra sempre que clicar naquele botão aparecer “Ligado” e “Desligado”, porque ele se inicia como Desligo, clico uma vez e fica Ligado, mais se clicar denovo, não volta a aparecer Desligado :frowning:
Como faz?

Bem simples:

Cria uma variável boolean chamada ligado, com o valor false ou true na declaração, como preferir:

boolean ligado = false;

Depois insere um estrutura de condição dentro do listener do JButton:

[quote]
//EVENTO DO BOTÃO BSTATUS
bstatus.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){

        if(ligado) {
          status.setVisible(true);  
          status.setText("Ligado");
          ligado = false;  
        }
        else {
                status.setVisible(true);  
                status.setText("Desligado");
                ligado = true;
        }
});  [/quote]

o que os if/else fazem ? toda vez que você clicar no JButton, ele vai analisar se o boolean ligado é true, se for, ele altera o JLabel para ligado e muda a varíavel ligado para false, para que no próximo clique ele vá para o else e mude o JLabel para Desligado, a cada clique no botão ele vai alterar seu JLabel.

Abraços.

Obrigada,