Bonjour,

J'aimerai savoir comment transmettre facilement les variables créées dans une classe externe vers une classe interne.

Voici le code en question :

Code : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Class principale{
...
...
...
   {
   Bateau torpilleuradv = new Bateau(r, 2);
      btn.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
            torpilleuradv.afficheBateau(); // Le problème est ici.
         }
      }
   }
...
...
...
}
 
//------------------------------//
 
Class Bateau{
 
   public Bateau(){
      ...
   }
 
   public static void afficheBateau(){
      ...
   }
 
}
Message d'erreur : Cannot refer to a non-final variable torpilleuradv inside an inner class defined in a different method

Mettre final Bateau torpilleuradv = ... n'est pas la solution, même si cela fonctionne partiellement.

Donc je suis entrain de me documenter sur internet (merci google), mais j'avoue que ca commence à être long, d'où ce poste.

Si quelqu'un pouvait alléger le temps de mes recherches, j'en serai infiniment reconnaissant.

Cordialement,

Jean