ciao avevo già provato a fare cosi e purtroppo non sono riuscito a farlo funzionare perché mi da un errore riguardante qualcosa che tu hai accennato sotto. Facendo cosi
dentro nei due metodi mousePressed e Relased quando faccio la get per aggiornare il colore di background mi da errore sulla i dicendo "Local variable i defined in an enclosing scope must be final or effectivelycodice:public void AggiungiPannelli(){ for (int i = 0; i < 8; i++) { pannelli.add(new JPanel()); pannelli.get(i).setBackground(Color.BLACK); pannelli.get(i).addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { pannelli.get(i).setBackground(Color.RED); } @Override public void mouseReleased(MouseEvent e) { pannelli.get(i).setBackground(Color.BLACK); } }); }
final".
Ho provato a dichiarare la i come final globale ma non cambia nulla. E se metto la i come final all'interno del metodo nel ciclo poi non me la fa più incrementare perché mi dice che la variabile finale i non può essere assegnata. Sono bloccato a questo.
Grazie mille davvero per l'aiuto che mi stai dando.
ps mi scuso per i colori ma pur incollando senza formattazione il codice poi quando lo pubblico i colori rimangono...


Rispondi quotando