Comment créer un Action Listener avec une variable de boucle ?
bonjour,
dans une fonction j'ai une boucle qui me permet de créer 3 boutons et leur ActionListener. Je voudrais passer en paramètre à la fonction appelée lors du clic sur le bouton le contenu de la variable de boucle :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
JButton btn[]= new JButton[3];
int i;
for (i=0; i<3; i++)
{
btn[i]=new JButton("Bouton " + i);
btn[i].addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
System.out.println(i);
}
});
} |
Malheureusement au moment de la compilation j'ai cette erreur au niveau du println() :
Citation:
error: local variable i is accessed from within inner class; needs to be declared final
System.out.println("bouton n°" + i);
Si je déclare i en final int mon erreur se trouve au niveau du for :aie:
D'où ma question : comment je peux passer le contenu de i ?