Salve ragazzi

Ho un piccolo problema.

Questo è il pezzo di codice che ci interessa

for (i=0; i<n; i++){
for (y=0; y<m; y++){
button = new JButton(""+x+y);
panel.add(button);
}
}
Adesso quando clicco su un bottone quel bottone dovrebbe cambiare colore.
Io ho fatto che in seguito all'evento button.setBackground(Color.RED), ma mi cambia il colore dell'ultimo bottone indipendentemente il tasto che premo. Mi sembra ovvio perchè l'ultimo button è proprio l'ultimo bottone.
Come posso fare?
Spero di essere stato chiaro.
Grazie a tutti