Ao postar códigos, por favor, use a tag code:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
Também lembre-se que o fórum correto para dúvidas de interface gráfica é o “interface gráfica” e não o “java básico”. Leia atentamente a descrição dos fóruns antes de postar.
Vou mover esse tópico para lá.
Acho que a forma mais fácil de fazer isso é criar um array de cores, um array de textos.
Color cores[] = {Color.GREEN, Color.YELLOW, Color.BLUE, Color.RED, Color.PINK};
String nomeCores[] = {"Verde", "Amarelo", "Azul", "Vermelho", "Rosa"};
Em seguida, crie uma variável para o offset atual desse Array (ou seja, o valor dela for 0, a primeira cor do primeiro botão será azul. Se for 1, será o amarelo, etc).
Em seguida, crie um listener que altere a cor dos botões, baseado no índice do botão e no offset:
public class MudaCorListener implements ActionListener {
private void mudarCorBotao(JButton btn, int indice) {
int index = (indice + offset) % cores.length;
btn.setText(nomeCores[index]);
btn.setBackground(cores[index]);
}
@Override
public void actionPerformed(ActionEvent evt) {
int index = (indice + offset) % cores.length;
mudaCorBotao(btn1, 0);
mudaCorBotao(btn2, 1);
mudaCorBotao(btn3, 2);
mudaCorBotao(btn4, 3);
mudaCorBotao(btn5, 4);
offset++;
}
}
Finalmente, registre listeners desse tipo em seus botões:
MudaCorListener listener = new MudaCorListener();
bt1.addActionListener(listener);
bt2.addActionListener(listener);
bt3.addActionListener(listener);
bt4.addActionListener(listener);
bt5.addActionListener(listener);