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

Agents de placement/Fenêtres Java Discussion :

[AWT/ Swing] Erreur "java.lang.NullPointerException"


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Par défaut [AWT/ Swing] Erreur "java.lang.NullPointerException"
    Bonjour et merci d'avance pour votre aide.
    je tiens à rappeller que je suis un novice en JAVA donc soyer indulgent.
    Je travaille sur un projet actullement et je ne parviens pas à passer acceder à une de mes interfaces. en effet en cliquant sur un bouton dont voici le contenu
    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
     
    private void jBtn_ContinuerCreationCircuitActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
                                    int nbLigne=20;
    				int nbColone=20;
     
     
    				JButton [] tab_bouton = new JButton[100];
    				Conteneur[][] data = new Conteneur[nbLigne][nbColone];
    				TronçonRoute[] tronconTab = new TronçonRoute [nbLigne*nbColone];
     
     
    				FenetreObjet fenetreDeSelectionObjets = new FenetreObjet(data,tab_bouton);
    				fenetreDeSelectionObjets.setVisible(true);//On la rend visible
     
    				FenetreDeSelection fenetre = new FenetreDeSelection(fenetreDeSelectionObjets,tronconTab,tab_bouton);
    				fenetre.setVisible(true);//On la rend visible
    				fenetre.setSize(800, 800);
     
        }
    je dois acceder à la fenetre dont le code est affiché ci dessous

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package course;
     
    import java.awt.Color;
    import java.awt.GridLayout;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import course.FenetreObjet;
     
    /**
     *
     * @author pisix
     */
    public class FenetreDeSelection extends JFrame {
        private int nbreTroncon=0;
        private FenetreObjet fenetreAttache;
        private Conteneur[][] conteneur;
        private JPanel pan = new JPanel();
        private JButton [] tabButton = new JButton[100];
        private TronçonRoute [] tronconTab = new TronçonRoute[100];
     
     
     
     
        public FenetreDeSelection(FenetreObjet fen, TronçonRoute[] Tronçon,JButton [] bouton){
            super();
            fenetreAttache = fen;
     
            tronconTab=Tronçon;
            tabButton = bouton;
     
            setLocation(0,0); //fixe la fenetre en haut a gauche
    	setResizable(false); //interdit redimensionnement de la fenetre
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //se ferme lors du clic sur la croix		
    	GridLayout gridLayout = new GridLayout(20,20);
    	pan.setLayout(gridLayout);
     
     
    		for(int j=0;j<100;j++) {
     
    			int ligne=j/20;
    			int colonne=j%20;
    			tronconTab[j]=new TronçonRoute();
    			tabButton[j]=new JButton();
    			this.conteneur[ligne][colonne]=new Conteneur();
     
     
    			tabButton[j].setIcon(new ImageIcon("/home/pisix/NetBeansProjects/course/images/vert.png"));
    			tabButton[j].setBorder(null);
    			tabButton[j].addMouseListener( new MouseListenerH(tabButton[j]));
    			pan.add(tabButton[j]);
    			tabButton[j].addActionListener(new ActionListenerH(j,tabButton[j], fenetreAttache, conteneur,tronconTab[nbreTroncon],tabButton));
    			nbreTroncon++;	
     
    		}
    		this.setContentPane(pan);
            this.setVisible(true);
     
     
        }
    }
    cependant j'ai l'erreur

    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
    39
    40
    41
    42
     
    on in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at course.FenetreDeSelection.<init>(FenetreDeSelection.java:50)
    	at views.PanAjouterCircuit.jBtn_ContinuerCreationCircuitActionPerformed(PanAjouterCircuit.java:202)
    	at views.PanAjouterCircuit.access$200(PanAjouterCircuit.java:19)
    	at views.PanAjouterCircuit$3.actionPerformed(PanAjouterCircuit.java:119)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    	at java.awt.Component.processMouseEvent(Component.java:6505)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
    	at java.awt.Component.processEvent(Component.java:6270)
    	at java.awt.Container.processEvent(Container.java:2229)
    	at java.awt.Component.dispatchEventImpl(Component.java:4861)
    	at java.awt.Container.dispatchEventImpl(Container.java:2287)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    	at java.awt.Container.dispatchEventImpl(Container.java:2273)
    	at java.awt.Window.dispatchEventImpl(Window.java:2719)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
    	at java.awt.EventQueue.access$200(EventQueue.java:103)
    	at java.awt.EventQueue$3.run(EventQueue.java:682)
    	at java.awt.EventQueue$3.run(EventQueue.java:680)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    	at java.awt.EventQueue$4.run(EventQueue.java:696)
    	at java.awt.EventQueue$4.run(EventQueue.java:694)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
    Et je ne vois pas quelle valeur est à nulle dans le code presenté plus haut.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bonjour,
    A la ligne 50 de ta classe FenetreDeSelection, tu essaies d'appeler un méthode d'un Objet non initialisé.

    Mais, ne pouvant voir à quoi correspond cette ligne, je ne peux t'en dire plus.
    Merci d'indiquer la ligne exacte déclenchant l'exception.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Par défaut
    Oui sinok justement je comprend le message mais je n'arrive pas à trouver où j'ai une valeur nulle ou encore où j'utilise une objet non initialisé . si vous avez besoin d'autre information pour m'aider je vous les fournirais volontiers. Il faut juste que je sache les quelles


    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Merci de nous fournir le code correspondant à la ligne exacte à laquelle ton exception est générée...

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        private Conteneur[][] conteneur;
        //.....
     
        public FenetreDeSelection(FenetreObjet fen, TronçonRoute[] Tronçon,JButton [] bouton){
            //....
    			this.conteneur[ligne][colonne]=new Conteneur();
    A aucun moment this.conteneur n'est initialisé.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Par défaut
    Conformément à vos remarques j'ai eu à l'initialiser de la façon ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    conteneur[ligne][colonne]=new Conteneur(tronconTab[j]);
    mais le problème persiste

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    ça, ça stocke un valeur dans le tableau, ca ne crée pas le tableau.

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Par défaut
    Je ne vois pas ce que vous voulez dire par là , je crois que pour stocker une valeur dans le tableau il faille qu'il soit au préalable soit crée.

    Brf je ne comprend pas ce que vous voulez dire par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ça, ça stocke un valeur dans le tableau, ca ne crée pas le tableau

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par leconteconte Voir le message
    je crois que pour stocker une valeur dans le tableau il faille qu'il soit au préalable soit crée.
    C'est exactement ce que j'ai dit, sa variable n'est pas initialisée :/

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Par défaut
    Oui je viens de voir mon erreur , vous aviez raison il y'avait un problème d'initialisation

    je l'ai corrigé à la ligne ci-dessous

    [CODE]
    private Conteneur[][] conteneur = new Conteneur[20][20] ;
    [/CODE


    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/02/2010, 08h23
  2. erreur compilation java.lang.NullPointerException
    Par muslim1987 dans le forum JDBC
    Réponses: 6
    Dernier message: 26/06/2008, 09h16
  3. Erreur exception java.lang.NullPointerException
    Par geol99 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2007, 20h24
  4. erreur de java.lang.NullPointerException
    Par vince351 dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2007, 12h29

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