Jbutton setEnabled(false)

package br.unipaulistana.prog3.swing.hello;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ThreeButtons extends JFrame implements ActionListener {

private JButton esquerdo, centro, direito;

public ThreeButtons(String title) {
	super(title);
	esquerdo = new JButton("Esquerdo");
	esquerdo.setToolTipText("Esquerdo");
	centro = new JButton("Centro");
	centro.setToolTipText("Centro");
	direito = new JButton("Direito");
	direito.setToolTipText("Direito");
}

private void criaMostraGui() {
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setLocation(300, 300);
	setSize(300, 100);
	setVisible(true);
	setResizable(false);
	setLayout(new GridLayout(1, 3));
	JPanel panel = new JPanel();
	getContentPane().add(panel);
	
	panel.add(esquerdo);
	pack();
	panel.add(centro);		
	pack();
	panel.add(direito);		
	pack();
}

@Override
public void actionPerformed(ActionEvent e) { [b][color=red][i]//Pessoal por que não consigo desabilitar os botões? [/i][/color][/b]
	if (e.getSource() == esquerdo) {          [i][b]//Agradeço a todos...[/b][/i]
		centro.setEnabled(false);
	}
	if (e.getSource() == centro) {
		direito.setEnabled(false);
	}
	if (e.getSource() == direito) {
		esquerdo.setEnabled(false);
	}
	
}

public static void main(String[] args) {
	ThreeButtons hello = new ThreeButtons("ThreeButtons");
	hello.criaMostraGui();
}

}

Você está esquecendo do addActionListener.

Nesse trecho:

esquerdo = new JButton("Esquerdo"); esquerdo.setToolTipText("Esquerdo"); centro = new JButton("Centro"); centro.setToolTipText("Centro"); direito = new JButton("Direito"); direito.setToolTipText("Direito");

Fica assim:

esquerdo = new JButton("Esquerdo"); esquerdo.setToolTipText("Esquerdo"); esquerdo.addActionListener(this); centro = new JButton("Centro"); centro.setToolTipText("Centro"); centro.addActionListener(this); direito = new JButton("Direito"); direito.setToolTipText("Direito"); direito.addActionListener(this);

Agora tem tudo para funcionar!
A idéia é adicionar um evento ao botão com esse método e esse método invoca o método actionPerformed que então realiza a tal tarefa. Sendo assim, se não tiver o addActionListener o evento simplesmente não será invocado. :slight_smile:

Espero ter ajudado.

Abraço.

Olá Conection, tudo bem?

Você esqueceu de associar o evento a algum botão da sua GUI. Veja um exemplo de como fazer isso no código abaixo:

seuBotao.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { suaActionPerformed(evt); } });

Agradeço a todos…