Identifier correctement la noeud d'un Jtree
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é:
Citation:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Voici par exemple ce bout de code:
Code:
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.
:/