Bonjour,
J'aimerai savoir comment tester correctement la feuille de mon jTree. Car, de temps en temps avec mon TreeSelectionListener, une exeption est généré:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Voici par exemple ce bout de code:
Code java : 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
jTreeContacts.addTreeSelectionListener(new TreeSelectionListener() {
 
            public void valueChanged(TreeSelectionEvent e) {
 
                if (!jTreeContacts.getLastSelectedPathComponent().equals(null)) {
 
                    DefaultMutableTreeNode noeud = (DefaultMutableTreeNode) jTreeContacts.getLastSelectedPathComponent();
 
                    if(noeud.isLeaf()) {
 
                        Contact contact = (Contact) noeud.getUserObject();
 
                        // clic sur un contact ayant demandé l'ajout en contact
                        if (contact.getEtat().equals("demande")) {
 
                           JFrame frameconfirmDemande = new JFrame( "Demande d'ajout" );
                           int reponse = JOptionPane.showConfirmDialog(frameconfirmDemande, "Voulez vous accépter cette personne dans vos contacts ?");
 
                              if( reponse != JOptionPane.CLOSED_OPTION) {
                                switch ( reponse ) {
                                    case JOptionPane.YES_OPTION:
                                        Contact.accepter(contact.getId());
                                    break;
                                    case JOptionPane.NO_OPTION:
                                        Contact.refuser(contact.getId());
                                    break;
                                }
 
                                initContacts();
 
                              } else {
 
                              }
 
                        }
 
                    }
 
                }
 
            }
 
 
        });
Avec ce code, par exemple, lorsque l'on "accepte" un contact, Contact.accepter(contact.getId()); s'effectue correctement, mais l'exeption en citation au dessus se produit.

:/