[java]appel de tableau dans une sous classe

Résolu
ApoKps Messages postés 140 Statut Membre -  
ApoKps Messages postés 140 Statut Membre -
Salut à tous,

J'ai un petit pb en Java. J'ai un tableau dans ma classe Main, qui est, en toute logique, ma classe principale, et dans cette classe, j'ai la sous classe MonPanneau. Je voudrais me servir des valeurs du tableau (situé dans Main...) dans la sous classe MonPanneau. Un peu de code pour "clarifier la chose", lol:


public class Main {

//tout plein de code

public static void main (String[] args) {
Main ihm = new Main();

ihm.go();
}



public void go() {

//tout plein de code

//définition du fameux tableau
Vehicule tableauVehicules[];
tableauVehicules= new Vehicule[nombreVehicules];
for(int i = 0; i < tableauVehicules.length; i++){
tableauVehicules[i]=new Vehicule();
}

//tout plein de code
}

class MonPanneau extends JPanel {

//appel des valeurs du tableau qui ne fonctionne pas
for(int i=0; i< tableauVehicules.length; i++){

}


}
}
}


Voilà, donc si quelqu'un vois pourquoi mon for ne marche pas (je suis débutant en Java ;)),
merci beaucoup d'avance :)

ApoKps
A voir également:

2 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,

Ceci est normal, le tableau tableauVehicules[] est locale à la fonction go de ta classe Main, donc pas vu par l'autre classe.
public class Main {

public Vehicule tableauVehicules[];
//tout plein de code

public static void main (String[] args) {
Main ihm = new Main();

ihm.go();
} 

 public void go() {

//tout plein de code

//définition du fameux tableau
tableauVehicules= new Vehicule[nombreVehicules];
for(int i = 0; i < tableauVehicules.length; i++){
tableauVehicules[i]=new Vehicule();
} 
}


Tu peux essayer ceci, et cela devrait marcher. Si le droit public du tableau ne te convient pas, tu peux aussi mettre le droit package, mais dans ce cas tu devras utiliser un package.

Cdt
0
ApoKps Messages postés 140 Statut Membre 6
 
ça marche farpaitement bien. En effet, j'ai un peu de mal avec la portée des variables, lol.

Merci encore beaucoup

ApoKps
0