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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 482
    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 482
    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

+ 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