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

Composants Java Discussion :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException jTable


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException jTable
    Bonsoir,

    comme le titre indique j'ai une erreur : Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    lors d'exécution de mon programme, je pense que le problème vient du déclaration de mes jTable (je suis novice dans les jTable et peut être je trompe dans la façon auquel je les crées )
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            int ob=0;
            int ob1=0; 
            int i=0; 
            int j=0;
            for(i=0;i<nbA;i++)
            {
                for(j=0;j<nbC;j++)
                {
                    if(MP.getValueAt(i,j).equals(false)||Q.getValueAt(i,j).equals(false)||poi.getValueAt(i,j).equals(false))
                    {
                        JOptionPane.showMessageDialog(null, "Cases must not be empty", "Error",JOptionPane.ERROR_MESSAGE);
                        i=nbA+1;
                        j=nbC+1;
                    } 
                }
            }
            if(j==nbC && i==nbA)
            {
                int s=-1;
                Integer[][] md=new Integer[nbA*(nbA-1)][nbC];
                DefaultTableModel Model = new DefaultTableModel(md, Cr);
                MD.setModel(Model);
                for(i=0; i<nbC; i++)
                {
                    for(int z=0; z<nbA; z++)
                    {
                        for(int k=0; k<nbA; k++)
                        {
                            if(k!=z)
                            {
                                ob= (int) Integer.parseInt(String.valueOf(MP.getValueAt(z, i)));
                                ob1= (int) Integer.parseInt(String.valueOf(MP.getValueAt(k, i)));
                                MD.setValueAt((ob-ob1), s++, i);
                            }
                        }
                    }
                }
    l'erreur se produit dans cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(MP.getValueAt(i,j).equals(false)||Q.getValueAt(i,j).equals(false)||poi.getValueAt(i,j).equals(false))
    et celle aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MD.setValueAt((ob-ob1), s++, i);
    SVP aidez moi, merci d'avance

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    A quoi correspondent les objets MP, MD, Q ?

    Est-ce que tu veux bien afficher cette partie de ton code ?
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Merci pour votre réponse,
    MD, MP, Q, poi sont des jTables dans mon interface Nom : fa.PNG
Affichages : 424
Taille : 8,8 Ko dans la figure y a MP, Q et poi dans le next panel y a MD.

  4. #4
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    OK,

    Cela suppose que ces éléments sont créés bien avant, sinon rassure-toi qu'ils sont tous bien initialisés au départ.

    Essaie décomposer ta condition if pour qu'on puisse savoir exactement sur quelle opération porte l'Exception.

    A la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(MP.getValueAt(i,j).equals(false)||Q.getValueAt(i,j).equals(false)||poi.getValueAt(i,j).equals(false))
    Tu peux mettre par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(MP.getValueAt(i,j).equals(false)){
     /*Blabla*/
    } if(Q.getValueAt(i,j).equals(false)){
     /*Blabla*/
    } if(poi.getValueAt(i,j).equals(false)){
     /*Blabla*/
    }
    Et tu nous indique avec précision la/les ligne(s) concernée(s).

    Aussi tu peux afficher les valeurs des tableaux avant le test des conditions pour vérifier qu'aucun d'entre eux ne vaut null en faisant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Q = " + Q + " poi = " + poi + " MP = " + MP);
    Je pense qu'avec çà on verra plus clair !

    __salut !
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Au vu du message suivant le test qui plante, il semble que tu cherches à tester si des cases sont "vides", donc à priori qui contiennent "null", ce qu'on teste par ==null, par .equals(false) ! En l'occcurence si une cellule contient null, et que tu appelles une méthode, comme equals() dans ton cas, tu obtiens forcément une NullPointerException, qui dit justement que tu essayes d'invoquer une méthode sur une référence null.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Bonsoir et merci pour vos réponses,

    @Lankonade : en premier y avait qu'une seul opération avec la même erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(MP.getValueAt(i,j).equals(false))
    puis j'ai réalisé que j'ai besoin que tous les tableaux soient remplis pour que je puisse passer au next panel, donc l'erreur était même avant d'ajouter les deux autres opération
    j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Q = " + Q + " poi = " + poi + " MP = " + MP);
    et voilà le résultat :
    Q = javax.swing.JTable[,0,0,379x16,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@f78ea5,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=35,g=35,b=36],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=0,rowSelectionAllowed=true,selectionBackground=DerivedColor(color=57,105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,selectionForeground=DerivedColor(color=255,255,255 parent=nimbusLightBackground offsets=0.0,0.0,0.0,0 pColor=255,255,255,showHorizontalLines=false,showVerticalLines=false] poi = javax.swing.JTable[,0,0,379x16,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@50db103a,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=35,g=35,b=36],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=0,rowSelectionAllowed=true,selectionBackground=DerivedColor(color=57,105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,selectionForeground=DerivedColor(color=255,255,255 parent=nimbusLightBackground offsets=0.0,0.0,0.0,0 pColor=255,255,255,showHorizontalLines=false,showVerticalLines=false] MP = javax.swing.JTable[,0,0,515x48,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.synth.SynthBorder@6cd7c341,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=35,g=35,b=36],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=0,rowSelectionAllowed=true,selectionBackground=DerivedColor(color=57,105,138 parent=nimbusSelectionBackground offsets=0.0,0.0,0.0,0 pColor=57,105,138,selectionForeground=DerivedColor(color=255,255,255 parent=nimbusLightBackground offsets=0.0,0.0,0.0,0 pColor=255,255,255,showHorizontalLines=false,showVerticalLines=false]

    @Joel.drigo : j'ai remplacé le par mais j'ai une autre erreur, qui ressemble un peu à l'ancienne,
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
    pour la même ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(MP.getValueAt(i,j)==null||Q.getValueAt(i,j)==null||poi.getValueAt(i,j)==null)
    Merci.

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par leilusha Voir le message
    @Joel.drigo : j'ai remplacé le par mais j'ai une autre erreur, qui ressemble un peu à l'ancienne,
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
    pour la même ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(MP.getValueAt(i,j)==null||Q.getValueAt(i,j)==null||poi.getValueAt(i,j)==null)
    C'est que tu accèdes à une ligne d'index 1 alors qu'il n'y a qu'une seule ligne dans la table, ou à une colonne d'index 1 alors qu'il n'y a qu'une colonne dans la table. Pour information, les index vont de 0 à n-1, n étant le nombre (de lignes ou de colonnes).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/02/2010, 08h23
  2. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ?
    Par freezerhm dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 04/12/2007, 09h26
  3. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par Trint dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 27/02/2007, 11h28
  4. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  5. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45

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