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 :

NullPointerException avec addItem() des JComboBox


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 14
    Points : 14
    Points
    14
    Par défaut NullPointerException avec addItem() des JComboBox
    Bonjour !
    J'ai voulu utiliser une simple JCombobox, mais lorsque j'ajoute mes items dedans à l'aide de la méthode addItem(Object obj) , une NullPointerException est levée !


    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
    JComboBox choixTaille;
     
    public IconesDessins(...){
    ...
    choixTaille = new JComboBox();
    			choixTaille.setActionCommand("Taille");
    			choixTaille.addActionListener(e);
    			choixTaille.addItem("Taille");
    			choixTaille.addItem("Grand");
    			choixTaille.addItem("Moyen");
    			choixTaille.addItem("Petit");
     
                    public JComboBox getChoixTaille() {
    			return choixTaille;
    		}
     
    }

    En fouillant un peu je me suis rendu compte que le problème venait de lorsque j'invoquais la méthode getChoixTaille() à partir de mon contrôleur (mon projet est en MVC) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    else if(e.getActionCommand().equals("Taille")){
    				if(fenetre.getIcones().getChoixTaille().getSelectedItem().equals("Grand")){
    					taille = 50;
    				}
     
    				else if(fenetre.getIcones().getChoixTaille().getSelectedItem().equals("Moyen")){
    					taille = 25;
    				}
     
    				else if(fenetre.getIcones().getChoixTaille().getSelectedItem().equals("Grand")){
    					taille = 10;
    				} 
    			}
    L'exception est levée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Exception in thread "main" java.lang.NullPointerException
    	at controleur.Ecouteurs.actionPerformed(Ecouteurs.java:138)
    	at javax.swing.JComboBox.fireActionEvent(Unknown Source)
    	at javax.swing.JComboBox.contentsChanged(Unknown Source)
    	at javax.swing.AbstractListModel.fireContentsChanged(Unknown Source)
    	at javax.swing.DefaultComboBoxModel.setSelectedItem(Unknown Source)
    	at javax.swing.DefaultComboBoxModel.addElement(Unknown Source)
    	at javax.swing.JComboBox.addItem(Unknown Source)
    	at vue.IconesDessin.<init>(IconesDessin.java:76)
    	at vue.Fenetre.<init>(Fenetre.java:45)
    	at main.Main.main(Main.java:29)
    La ligne 76 de IconesDessin correspond au premier ajout d'item, c'est à dire : choixTaille.addItem("Taille");

    La ligne 138 de Ecouteurs (mon contrôleur), correspond à :
    if(fenetre.getIcones().getChoixTaille().getSelectedItem().equals("Grand"))

    Je vérifie en n'invoquant que fenetre.getIcones().getChoixTaille(), et effectivement c'est bien de là que vient de le problème. Paradoxalement, lorsque j'invoque la même méthode (getChoixTaille()) dans les autres classes, telle que IconesDessins elle même , ou bien Fenetre, qui contient l'objet de la classe IconesDessins, ça marche parfaitement. Du coup je sais pas trop comment régler ce souci ! Voila j'espère avoir été précise, j'ai fait le mieux que j'ai pu pour rassembler les informations nécessaires, et vous remercie d'avance de vos réponses !

    ====> EDIT : en utilisant le mode debug (que je viens de découvrir), je vois que, au moment de l'initialisation de IconesDessin dans ma Jframe, l'objet reste null !
    Pourtant je l'initialise comme tout autre objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    icones = new IconesDessin(ecouteur, debug);
    		this.add(icones, "wrap, w 26.5%!, h 30%!");
    Ce n'est pas le seul objet à réagir comme ça, même mon JPanel reste null après initialisation, mais ce sont les deux seuls objets à faire ça . Un peu d'aide ne serait pas de refus

  2. #2
    Membre régulier

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 64
    Points : 107
    Points
    107
    Par défaut
    La déclaration de tes objets se fait bien dans ta classe qui étend JFrame?
    Sinon, je veux bien te filer un coup de main mais faudrait le code

Discussions similaires

  1. Pb avec option des dossiers
    Par jack69 dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/07/2008, 09h32
  2. NullPointerException avec des ArrayList
    Par Mchupakabra dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 08/04/2008, 21h48
  3. probleme avec lutilisation des checbox
    Par xtaze dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/11/2005, 08h42
  4. Test sur formulaire avec liste des erreurs
    Par Nicos77 dans le forum Langage
    Réponses: 37
    Dernier message: 17/11/2005, 10h22
  5. base avec nom des pays
    Par jack-daniel dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/07/2003, 14h16

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