Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3021 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] - Projet d'orienté Objet - Problème clair & détaillé - Bloqué

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] - Projet d'orienté Objet - Problème clair & détaillé - Bloqué

n°313388
zytrahus5
wait what?
Posté le 19-02-2003 à 18:35:48  profilanswer
 

Salut, j'ai depuis quelques temps un devoir en orienté objet à faire, je l'ai terminé pour ainsi dire, sauf que je butte à la fin sur un problème je pense simple, mais je ne vois vraiment pas....
 
Voilà en gros ce que je fais, c'est assez simple, et je comprends pourquoi JBuilder me sort cette exception...
 
 
Sujet : Affichage de points (type Point2D.Double) après avoir calculé les coordonnées.
 
 
Globalement, j'ai 3 classes (plus mais n'interviennent pas dans le probleme) :
 
- principale
- TraceGraphe (donnée, mais modifiable)
- JPanelTraceGraphe (donnée, mais modifiable)
 
 

  • Quand je suis dans ma classe principale, après avoir fait mon calcul et rempli le vecteur à afficher, je créé un objet de type TraceGraphe et ensuite je lui dis de créer la fenetre d'affichage et d'y afficher les points (grace à la méthode ajoutePanel) :


Code :
  1. graph = new TraceGraphe("Affichage des trajectoires" );
  2. graph.ajoutePanel(affichage); //affichage est un vecteur contenant des Point2D.Double


 
 

  • Ensuite je me retrouve donc dans la classe TraceGraphe, cette classe est une donnée de mon problème (a priori juste, mais modifiable). La méthode ajoutePanel, crée dans un premier temps un objet de type JPanelTraceGraphe, vérifie dans un premier temps le contenu du vecteur, puis va par l'intermédiaire de l'objet nouvellement créé faire un calibrage des valeurs maxi, mini etc... et c'est dans la méthode calculMaxMin que le problème se produit...


Code :
  1. public void ajoutePanel(Vector v) {
  2.     JPanelTraceGraphe panel = new JPanelTraceGraphe();
  3.     this.getJFrameContentPane().add(panel);
  4.     if (v == null) {
  5.         panel.test();
  6.     } else {
  7.         panel.setv(v);
  8.         panel.calculMaxMin();
  9. etc...


 
 

  • On se retrouve donc dans la méthode calculMaxMin... Et c'est ici qu'après réellement l'exception que me sort Jbuilder... Précisement c'est la derniere ligne de ce bout de code qui est référencé dans l'exception :


Code :
  1. public void calculMaxMin() {
  2.         if (this.getv() != null)  {
  3.             Vector tmp = null;
  4.             java.awt.geom.Point2D.Double point = null;
  5.             for(int j = 0; j < this.getv().size();j++) {
  6.                 tmp = (Vector)this.getv().elementAt(j);
  7. etc...


 
 
 
 
Donc voilà la donnée de mon problème, je suis la dessus depuis plusieurs jours, et là, je suis bien embetté parce qu'il ne reste que 2 jours avant de devoir rendre le devoir...
 
 
Si vous avez une idée d'où pourrait venir le problème, je suis prêt à vous écouter...
 
EDIT : voilà l'exception que me sort JBuilder :
 

Exception occurred during event dispatching:
 
java.lang.ClassCastException: java.awt.geom.Point2D$Double
 
 at mvt_planete.JPanelTraceGraphe.calculMaxMin(JPanelTraceGraphe.java:155)
 
 at mvt_planete.TraceGraphe.ajoutePanel(TraceGraphe.java:51)
 
 at mvt_planete.Principale.actionPerformed(Principale.java:205)


 
EDIT : premier probleme résolu :)
 
 
 
Par contre voilà ce que j'ai maintenant :
 
C'est bon maintenant, je n'ai plus une seule erreur, mais ça ouvre la fenetre mais ça n'affiche rien à l'intérieur...
 
Je me demande si la classe du prof est pas foireuse, parce que là tout à l'air ok...
 
 
mais ce qui me choque le plus, c'est que dans la classe JPanelTraceGraphe et bien, il y une méthode paint... mais il ne s'en sert jamais, elle n'est jamais executée... (j'ai mis un point de debug qui n'est jamais atteint)
 
En revanche il utilise bizarrement la méthode paintAll(graphics)  je trouve ça vraiment étrange...
 
 
j'ai essayé de remplacer la méthode paintAll par celle qui est tapée dans la classe JPanelTraceGraphe mais dans ce cas il me sort une exception (null pointer)...
 
 
 
Je suis vraiment pas quoi faire là


Message édité par zytrahus5 le 19-02-2003 à 22:28:55

---------------
http://www.zytratech.com
mood
Publicité
Posté le 19-02-2003 à 18:35:48  profilanswer
 

n°313399
Kristoph
Posté le 19-02-2003 à 18:47:34  profilanswer
 

Ca doit etre un probleme de parentheses sur cette ligne :

Code :
  1. // Mal :
  2. tmp = (Vector)this.getv().elementAt(j);
  3. // Bien :
  4. tmp = (Vector)(this.getv().elementAt(j));


Message édité par Kristoph le 19-02-2003 à 18:48:00
n°313402
zytrahus5
wait what?
Posté le 19-02-2003 à 18:52:01  profilanswer
 

Merci pour ta réponse, je viens d'essayer, mais ça n'a rien changé, j'ai toujours la même exception...


---------------
http://www.zytratech.com
n°313419
Kristoph
Posté le 19-02-2003 à 19:08:28  profilanswer
 

Et bien, dans ce cas cela veux simplement dire que this.getv().elementAt(j) n'est pas un Vector

n°313428
zytrahus5
wait what?
Posté le 19-02-2003 à 19:19:29  profilanswer
 

exactement, c'est ce que je pense...
 
Là j'essaie d'y palier. En fait, le vecteur que je passait en argument etait un vecteur de Point2D.Double, alors que visiblement, cette méthode réclame un vecteur de vecteurs...


---------------
http://www.zytratech.com
n°313487
--greg--
Posté le 19-02-2003 à 20:59:45  profilanswer
 

ben this.getv().elementAt(j) te retourne un Point2D, l'exception te le dit  :sarcastic:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°313501
zytrahus5
wait what?
Posté le 19-02-2003 à 21:17:03  profilanswer
 

C'est bon maintenant, je n'ai plus une seule erreur, mais ça ouvre la fenetre mais ça n'affiche rien à l'intérieur...
 
Je me demande si la classe du prof est pas foireuse, parce que là tout à l'air ok...
 
 
 
 
mais ce qui me choque le plus, c'est que dans la classe JPanelTraceGraphe et bien, il y une méthode paint... mais il ne s'en sert jamais, elle n'est jamais executée... (j'ai mis un point de debug qui n'est jamais atteint)
 
En revanche il utilise bizarrement la méthode paintAll(graphics) :/ je trouve ça vraiment étrange...
 
 
j'ai essayé de remplacer la méthode paintAll par celle qui est tapée dans la classe JPanelTraceGraphe mais dans ce cas il me sort une exception (null pointer)...
 
 
 
Je suis vraiment pas quoi faire là :/


---------------
http://www.zytratech.com
n°313827
zytrahus5
wait what?
Posté le 20-02-2003 à 11:05:59  profilanswer
 

pas d'idée pour ceci ?
 

zytrahus5 a écrit :

C'est bon maintenant, je n'ai plus une seule erreur, mais ça ouvre la fenetre mais ça n'affiche rien à l'intérieur...
 
Je me demande si la classe du prof est pas foireuse, parce que là tout à l'air ok...
 
 
 
 
mais ce qui me choque le plus, c'est que dans la classe JPanelTraceGraphe et bien, il y une méthode paint... mais il ne s'en sert jamais, elle n'est jamais executée... (j'ai mis un point de debug qui n'est jamais atteint)
 
En revanche il utilise bizarrement la méthode paintAll(graphics) :/ je trouve ça vraiment étrange...
 
 
j'ai essayé de remplacer la méthode paintAll par celle qui est tapée dans la classe JPanelTraceGraphe mais dans ce cas il me sort une exception (null pointer)...
 
 
 
Je suis vraiment pas quoi faire là :/
 
:hello:


---------------
http://www.zytratech.com
n°314236
zytrahus5
wait what?
Posté le 20-02-2003 à 17:55:36  profilanswer
 

pas de petite idée ? c'est à rendre demain et ça ne marche toujours pas :cry:  
 

zytrahus5 a écrit :

C'est bon maintenant, je n'ai plus une seule erreur, mais ça ouvre la fenetre mais ça n'affiche rien à l'intérieur...
 
Je me demande si la classe du prof est pas foireuse, parce que là tout à l'air ok...
 
 
 
 
mais ce qui me choque le plus, c'est que dans la classe JPanelTraceGraphe et bien, il y une méthode paint... mais il ne s'en sert jamais, elle n'est jamais executée... (j'ai mis un point de debug qui n'est jamais atteint)
 
En revanche il utilise bizarrement la méthode paintAll(graphics) :/ je trouve ça vraiment étrange...
 
 
j'ai essayé de remplacer la méthode paintAll par celle qui est tapée dans la classe JPanelTraceGraphe mais dans ce cas il me sort une exception (null pointer)...
 
 
 
Je suis vraiment pas quoi faire là :/


---------------
http://www.zytratech.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] - Projet d'orienté Objet - Problème clair & détaillé - Bloqué

 

Sujets relatifs
Aller chercehr une image sur le net, à partir d'un prog en JAVA[Résolu][Php] Problème explorateur de fichiers (lecteur réseau)
Probleme de bufferproblème incroyable.... [RESOLU]
Transformer un programme JAVA en fichier .EXECSS, problème en étant passé de IE5.5 à IE6
Problème session en ASP.NET/C#problème avec org.postgresql.Driver
[java]créer une tempo, c'est possible??[Java] traduction d' algo
Plus de sujets relatifs à : [JAVA] - Projet d'orienté Objet - Problème clair & détaillé - Bloqué


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR