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 java : Sélectionner tout - Visualiser dans une fenêtre à part
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() :
Si je déclare i en final int mon erreur se trouve au niveau du forerror: local variable i is accessed from within inner class; needs to be declared final
System.out.println("bouton n°" + i);
D'où ma question : comment je peux passer le contenu de i ?
Partager