System.out.println("--------> Selection Tree : "+selection.getNom()+" <----------");
}
}
Le JTree est bien affiché mais j'ai beau selectionné n'importe quel noeud, element, le system.out.println n'est pas affiché. En passant, le model de selection ne fonctionne pas non plus, malgre le SINGLE_TREE_SELECTION, je peux toujours selectionne plusieurs noeud.
Merci a+, ca doit etre tout bete, mais j'ai pas trouvé, je trouverais j'espere lundi ^^
dans ton code tu fais
DefaultTreeSelectionModel modelSelection = new DefaultTreeSelectionModel();
modelSelection.setSelectionMode(DefaultTreeSelectionModel.SINGLE_TREE_SELECTION);
pourquoi ne pas faire simplement
arbreDTD.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
pourquoi aussi ne pas modifier que le model genre
private DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode();
....
DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
treeModel.addTreeModelListener(new TreeModelEvent(this));//pas obligatoire
arbreDTD = new JTree(treeModel);
ensuite tu fais
if (arbreDTD == null) {
...
}else{
gestionDTDOrganisation = new GestionInterfaceXML(nomProjet,nomFichierXML,lienDTD);
arbreDTD.removeAll();
arbreDTD = gestionDTDOrganisation.getArbre();
}
gestionDTDOrganisation.getArbre(); te renvoit la meme config en terme de selection et d'ajout de listener que dans le cas de arbreDTD == null ?
En fait, c'est la première fois que j'utilisais les arbres et je n'y comprenais rien. En effet pour la selection unique, ta ligne de code est plus simple ^^, merci.
Concernant le reste, j'ai résolu le probleme, en fait, je ne touchais qu'a la racine de l'arbre (car je pensais que ca serais pour ton ces fils également) mais il fallait mettre le code dans la boucle ou je créé chacun de mes noeuds.