Ajouter un commentaire

fredericmazue

Quote:
Bon, tu vas surement dire que je comprend rien

Oui...

Quote:
j'avais deja crré une map

Non :!: :!:

Quote:
Il me met "non static method getMap() canot be referenced from a static context". Mais que diable veut dire cete phrase?

Que tu ne comprends rien et surtout (c'est là que c'est grave) que tu ne fais pas ce qu'on te dit.

Je t'ai dit:

Carte carte = new Carte();
carte.getMap()

Tu le faisais et ça marchait au lieu de cela tu fais:

Quote:
modele.setCarte(new Carte(herbeImage, rocherImage, routedroite));

Là tu crées certes une carte MAIS la référence sur l'objet créé n'est pas conservée et tu ne peux pas t'en servir. La carte que tu crées ne sert qu'à la classe modèle qui reçoit la référence. Cette référence est invisible dans le code qui suit la ligne.

Quote:
Carte.getMap();

Et là Carte n'est pas une référence (forcément, y en a pas, de référence) mais un nom de classe. En Java une classe n'est pas un objet. Si tu appelles une méthode d'une classe, cette méthode doit *obligatoirement* être static, et le compilateur a raison de te jeter. Tiens même que moi à sa place, je t'aurais collé mille balles d'amende :)

Donc si tu avais fait comme je t'ai dit (en adaptant pour ton cas), cela donnait

Carte carte = new Carte(herbeImage, rocherImage, routedroite);
modele.setCarte(carte);
carte.getMap();

Note bien carte.getMap() et non Carte.getMap()

Parce que là carte est une référence sur un *objet* créé par new.
Classe et objet ce n'est pas synonyme.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
     J  ZZZZZ  L     K  K   QQQ   
J Z L K K Q Q
J Z L KK Q Q
J J Z L K K Q QQ
JJJ ZZZZZ LLLL K K QQQQ
Q