federaimondi ha scritto:
Ora però non posso riesco a far passare i pulsanti nella firma della classe anonima innestata.
Se la variabile
c è "di istanza", allora è accessibile da quella anonymous inner class.
Non sono accessibili
i e
j perché non sono final (non potrebbero esserlo poiché indici di un for) e non sono nemmeno "effectively final" (Java 8+) poiché appunto sono comunque modificati dal for.
La soluzione è banale: 2 variabili temporanee.
for (int i=0; i<x; i++) {
for (int j=0; j<y; j++) {
int iAction = i;
int jAction = j;
....... new ActionListener() {
public void actionPerformed(ActionEvent e) {
// QUI PUOI usare iAction / jAction
}
}
Se sei >= Java8, iAction/jAction possono stare così senza altro. Se sei <= Java7, allora VANNO messe come
final
P.S. Non è comunque un buon approccio per gestire caselle adiacenti.