[Resolvido]Metodo para mudar a cor de um botao

Bom dei uma procurada aqui no forum e no google mas nao consegui encontrar algo parecido por existir muitos topicos parecidos falando de botoes

Mas o que estou querendo fazer é o seguinte

Eu tenhu vários botões no meu programa, e eu queria mudar a cor deles após ele fosse clicado.
Sei que posso usar os metodos setText setForeground setBackground para alterar eles
Mas existe algum jeito de eu fazer apenas um metodo para por exemplo ele pegar qual botão foi pressionado e mudar a cor dele, ao invés de ficar inserindo em todos os botões Botao.setText("Foto OK"); Botao.setForeground(Color.WHITE); Botao.setBackground(Color.BLUE);
em cada um deles?

procura por keyPressed … algo assim

        meubotao.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
				metodo_tal(evt);
            }
        });

....

	if ( evt.getKeyCode() == 114 )

...
        meubotao.addFocusListener(new FocusAdapter() {
        	public void focusLost(FocusEvent evt) {

ver se ajuda ...

Olá, vocêr pode extender o Jbutton e implementar um ActionListener Default para ele.

Tenta isso.

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;


public class BotaoTrocaTroca extends JButton implements ActionListener {
	
	private static final long serialVersionUID = 1L;

	public BotaoTrocaTroca() {
		this.addActionListener(this);
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		this.setBackground(Color.BLACK);
		this.setForeground(Color.WHITE);
	}
	
}

Valeu Lindberg, mas eu to usando o ActionListener
eu tava procurando um método que ele me informasse qual botão foi apertado para poder mudar o texto ou a cor dele
eu não queria ter de criar um if gigantesco com todos os botoes

[code]
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttonOk) {
muda texto
muda cor

}else if (e.getSource() == textNome){
muda texto
muda cor
}[/code]

Você poderia fazer um método mais ou menos dessa forma através do método getSource();

[code]private void mudarBotao(ActionEvent evt){
try{
JButton btnAux = (JButton) evt.getSource(); //método getSource retorna o objeto selecionado

         btnAux.setBackground(Color.BLACK);
         btnAux.setForeground(Color.WHITE);
    }catch(Exception e){} //se der erro é porque não conseguiu converter ou algo do tipo

}[/code]

aqui funcionou testa ai, e veja se é isso que precisa

Obrigado guedolino mas ainda não consegui, após tentar usar o seu método ele pede pra criar um ActionListener

private void addActionListener(BotaoTroca aThis) { aThis.setBackground(Color.BLACK); aThis.setForeground(Color.WHITE); }
eu criei ele e deixei assim, mas ainda não está funcionando, e o ruim é que ele não apresenta mensagem de erro

Putz show de bola Ivan Alves, funcionou perfeitamente aqui também, era exatamente isso que eu estava procurando

Muito Obrigado ^^

[quote=Ivan Alves]Você poderia fazer um método mais ou menos dessa forma através do método getSource();

[code]private void mudarBotao(ActionEvent evt){
try{
JButton btnAux = (JButton) evt.getSource(); //método getSource retorna o objeto selecionado

         btnAux.setBackground(Color.BLACK);
         btnAux.setForeground(Color.WHITE);
    }catch(Exception e){} //se der erro é porque não conseguiu converter ou algo do tipo

}[/code]

aqui funcionou testa ai, e veja se é isso que precisa[/quote]

Se Precisar estamos aí, flw!!