Methode pointé par tableau d'objet

cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 - 28 avril 2003 à 15:05
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 - 29 avril 2003 à 14:40
Salut
J'ai un petit problème à vous exposer :

1 class voiture une autre parcours
un tableau d'objet voiture comme suit :

Voiture [] voiture = new Voiture[20] ; //suppose au max 20

voiture[0] = new Voiture();//creation d'un objet voiture

Dans la class voiture une methode affichevoiture(Graphics g , Voiture v )

Le problème est d'arriver a affcher les voitures avec la methode précédente

J'ai essayé ceci :

voiture[0].affichevoiture(g,voiture[0]) ;

comme resultat j'obtient :

java.lang.NULLPOINTEREXCEPTION

La version précédente de ce prog etait :

Voiture v = new Voiture();

et la la methode marché bien :

v.affichevoiture(g,v);

Merci d'avance pour les commentaires que vous pourriez apporter
A bientot

10 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
28 avril 2003 à 15:52
salut, si tu veux a chaque fois afficher la voiture dont tu appelles la methode,
enleve ton deuxieme argument et sert toi de this dans ta methode ;)
Duss
0
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 4
28 avril 2003 à 16:02
J'ai essayé : voiture[0].affichevoiture(g,this);

marche pas !!

Si ça peut aider voici la methode d'affichage :

public void affichevoiture (Graphics g,java.lang.Object Voiture) {

g.drawOval (this.tab[0],this.tab[1],10,10);
}

et ci dessous les erreurs produites lors de l'excution du prog (ces erreurs apparaissent dés le prog arrive a la ligne :

voiture[0].affichevoiture(g,voiture[0] ) ;

java.lang.NullPointerException

at Parcours.paint(Parcours.java:98) //ligne voiture[
at sun.awt.RepaintArea.paint(........................etc

Si la suite vous interresse y a ka demander ..

Merci
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
28 avril 2003 à 16:56
pkoi st ce que tu lui passe une voiture alors que tu ne l utilise pas ??
Vire ce paramètre si il ne sert pas dans afficheVoiture !!
Duss
0
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 4
28 avril 2003 à 18:04
Remarque trés pernitente effectivement le deuxiéme parametre été inutile 8-) mais le problème persiste je te le rapelle rapidement :
Voiture [] voiture = new Voiture[10];
voiture[0] = new Voiture();

voiture[0].affichevoiture(g); //cré des erreurs à l'execution et pas à la compilation

Si des vous désirez des infos supplémentaires comme le type d'erreur à l'execution le debut est dans l'ancien message la suite attend les eventuels demandeurs

Merci

Juls
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 4
28 avril 2003 à 20:12
la methode affichevoiture est appelé dans la methode paint de la class parcours

Le but etant de creer des objet dans la class parcours des que l'on click sur un bouton creer voiture et de les faires ce deplacer sur des points de mon parcours prédéfinis a l'avance
en clickant sur ces meme point .
Mais avant tout cela il faut que j'arrive a utiliser une méthode avec un tableau d'objet

Désolé si je suis un peu lent et merci encore

Juls
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
28 avril 2003 à 22:15
as tu esayé :
(voiture[0]).affichevoiture(g);
Duss
0
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 4
29 avril 2003 à 09:38
-------------------------------
Réponse au message :
-------------------------------

> as tu esayé :
> (voiture[0]).affichevoiture(g);
> Duss

Je viens juste de tester .
Et toujours la meme !!!

Aurais tu un petit exemple reprenant cette notion ???
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
29 avril 2003 à 11:01
salut,
ben ecoute la c est pas normal a moins que ca vienne de ton graphics !! Montre ton code ca sera plus simple
Duss
0
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 4
29 avril 2003 à 12:15
ok je te met ça en debut d'aprem
Merci .
0
cs_Juls Messages postés 41 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 16 juillet 2003 4
29 avril 2003 à 14:40
-------------------------------
Réponse au message :
-------------------------------

>
>
>
>
>

>Voici un bout de code qui a des erreurs a cause du tableau d'objets

import java.awt.*;
import java.applet.*;

public class Vehicul extends java.applet.Applet {

int x 417,y 102; //init coordonnées

int [] tab = new int[2];//coordonnées propres à chaque objet

Vehicul [] voiture = new Vehicul[10]; //declaration tableau de 10 objets

public void init() {
}

public Vehicul() {

this.tab[0] = x;
this.tab[1] = y;
}

public void affichevoiture(Graphics g) {

g.drawOval(this.tab[0] , this.tab[1] , 10 ,10);
}


}// fin de la classe Vehicul

import java.awt.*;
import java.applet.*;
public class parcour extends Vehicul {

voiture[0] = new Vehicul(); //creation objet

public void init() {
}

public void paint (Graphics g) {

//dans la version evoluée "si on peut dire" je charge une image en fond d'ecran

//puis voila l 'appel a la methode
voiture[0].affichevoiture(g);
}


}

Merci de ton aide
a +
Juls
0
Rejoignez-nous