NullPointerException

Résolu
Signaler
Messages postés
52
Date d'inscription
dimanche 1 décembre 2002
Statut
Membre
Dernière intervention
19 septembre 2007
-
Messages postés
52
Date d'inscription
dimanche 1 décembre 2002
Statut
Membre
Dernière intervention
19 septembre 2007
-
Bonjour,

J'ai une petite erreur NullPointerException en lancant mon application !

J'ai créé un UI pour mon Jtabbedpane :

public class MyCloseTabbedUI extends BasicTabbedPaneUI{
        public MyCloseTabbedUI()
        {
            super();
            tabPane.addMouseListener(new MyListenerUI());
        }

....

        public class MyListenerUI implements MouseListener {

            public void mouseEntered(MouseEvent e) {
                System.out.println(">>"+e.getX());
            }
   
            public void mouseExited(MouseEvent e) {
                System.out.println("<<"+e.getX());
            }       
           
            public void mouseClicked(MouseEvent e) {}
   
            public void mousePressed(MouseEvent e) {}
   
            public void mouseReleased(MouseEvent e) {}
           
        }
}

L'erreur survient au niveau de " tabPane.addMouseListener(new MyListenerUI()); ".
Je ne comprends pas trop pourquoi j'ai une erreur
"NullPointerException
" alors que ma classe listener est définie...

Je suis à mes débuts, je vous remercie d'avance pour des indices ou des solutions...

C.

5 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Pas tout compris là !

Fait un System.out..println(tabPane);

Es-tu verra que c'est lui qui est null, et non pas le listener.

Le tabpane n'a donc pas été instancié lorsque tu rentre dans la portion de code qui plante.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Ca vient pas de ton listener, mais de ton tabPane qui n'est pas instancié !
Messages postés
52
Date d'inscription
dimanche 1 décembre 2002
Statut
Membre
Dernière intervention
19 septembre 2007

merci,

en fait, le tabPane est par défaut dans BasicTabbedPaneUI  non ?

j'ai vu sur http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/plaf/basic/BasicTabbedPaneUI.html  :

tabPane
protected JTabbedPanetabPane

Donc est ce qu'il n'est pas définit directement dans la classe mère et qu'il se rapporte directement à l'objet qui appelle la classe MyCloseTabbedUI ?
Ce que je veux dire c'est, quand j'appelle ma classe comme ca :

MyCloseTabbedUI TabbedUI = new MyCloseTabbedUI();
MonJTabbedPane.setUI(TabbedUI);

le "tabPane" est associé directement à "MonJTabbedPane"  , non ?

Déjà un grand merci à toi pour ton aide.

R@pt0r
Messages postés
52
Date d'inscription
dimanche 1 décembre 2002
Statut
Membre
Dernière intervention
19 septembre 2007

Tu as pleinement raison !
bon, j'ai plus qu'à chercher comment recup le jtabbedpane dans la portion de code du UI !

C.
Messages postés
52
Date d'inscription
dimanche 1 décembre 2002
Statut
Membre
Dernière intervention
19 septembre 2007

Ah oui , Merci à toi !!!