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?
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
Você poderia fazer um método mais ou menos dessa forma através do método getSource();
privatevoidmudarBotao(ActionEventevt){try{JButtonbtnAux=(JButton)evt.getSource();//método getSource retorna o objeto selecionadobtnAux.setBackground(Color.BLACK);btnAux.setForeground(Color.WHITE);}catch(Exceptione){}//se der erro é porque não conseguiu converter ou algo do tipo}
aqui funcionou testa ai, e veja se é isso que precisa
D
DBZ
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
D
DBZ
Putz show de bola Ivan Alves, funcionou perfeitamente aqui também, era exatamente isso que eu estava procurando
Muito Obrigado ^^
Ivan Alves:
Você poderia fazer um método mais ou menos dessa forma através do método getSource();
privatevoidmudarBotao(ActionEventevt){try{JButtonbtnAux=(JButton)evt.getSource();//método getSource retorna o objeto selecionadobtnAux.setBackground(Color.BLACK);btnAux.setForeground(Color.WHITE);}catch(Exceptione){}//se der erro é porque não conseguiu converter ou algo do tipo}
aqui funcionou testa ai, e veja se é isso que precisa