IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Exception dans une fonction de dessin


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut Exception dans une fonction de dessin
    Bonjour je cherche à corriger un NullPointerException dans une fonction de dessin, voici mon code :
    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
     
    public void draw(Vertex[] vertexToDraw){
       int[] x = new int[vertexToDraw.length];
       int[] y = new int[vertexToDraw.length];
       System.out.println("Drawing : ");
       System.out.println("X : " +vertexToDraw[0].getX() +" Y : "+vertexToDraw[0].getY());
    for(int i=0; i<vertexToDraw.length; i++){
    if(vertexToDraw != null && x != null && y != null){
    x[i] = (int)vertexToDraw[i].getX();
    y[i] = (int)vertexToDraw[i].getY();
    }
    }
    Graphics g = this.panel.getGraphics();
    g.setColor(Color.blue);
    g.fillPolygon(x, y, vertexToDraw.length);
    }
    Le NullPointerException apparaît à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    x[i] = (int)vertexToDraw[i].getX();
    Pourtant le println de données affiche bien les données contenu dans la variable a afficher...
    P.-S.- vertexToDraw contient des données "double"

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Citation Envoyé par tiloup367 Voir le message
    Pourtant le println de données affiche bien les données contenu dans la variable a afficher...
    Tiens donc. Et quelle est-elle cette "variable à afficher" ?

  3. #3
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut
    Des "double" pas encore converti en "int", représentant une coordonnée en X et Y.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Une variable a souvent un nom. Quelle est cette variable dont tu as vérifié qu'elle marche bien quand on cherche à l'afficher, et quel rapport cela a-t-il avec la ligne dans laquelle le NullPointerException arrive ?

    Montre-nous ça.

  5. #5
    Membre du Club
    Profil pro
    Électro-mécano-informaticien à ses heures
    Inscrit en
    Août 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Électro-mécano-informaticien à ses heures

    Informations forums :
    Inscription : Août 2010
    Messages : 95
    Points : 55
    Points
    55
    Par défaut
    En fait, la fonction "mère" qui appelle "draw" fait plusieurs tests et des boucles d'affectation des variables de "vertexToDraw". J'ai découvert, car mon problème est maintenant résolu, que c'était seulement une boucle mal écrite (itération insuffisante). Donc, par exemple, dans la fonction mère, celle-ci instanciait vertexToDraw d'une longueur 3 (null, null, null), ensuite affectait des variables grâce à une boucle, qui mal écrite, n'en affectait que 2. Donc, la 3eme se trouvait toujours à null et de la mon NullPointerException! Et voilà.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur d'exception dans une fonction
    Par pat100 dans le forum Général Python
    Réponses: 6
    Dernier message: 17/04/2013, 12h54
  2. Utilisez MinimizeName() dans une fonction
    Par James_ dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/05/2004, 18h05
  3. Réponses: 2
    Dernier message: 28/08/2003, 00h00
  4. [Postgresql]Connecter à une autre base dans une fonction
    Par alex2205 dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/05/2003, 11h30
  5. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo