Bonjour, je n'arrive pas a actualiser un jtree dans un jpanel en fait je charge de nouvelles données dans le jtree mes elle ne s'affiche pas j'ai essayer repaint() layout() mais rien n'y fait.
Alors si vous avez une idée :idea: :)
Version imprimable
Bonjour, je n'arrive pas a actualiser un jtree dans un jpanel en fait je charge de nouvelles données dans le jtree mes elle ne s'affiche pas j'ai essayer repaint() layout() mais rien n'y fait.
Alors si vous avez une idée :idea: :)
Tu fais comment pour "charger" tes nouvelles données ?
En pratique il faut utiliser les méthodes du TreeModel. Enfin, plutôt du DefaultTreeModel.
Les removeNodeFromParent(MutableTreeNode node), insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index) pour faire les modifs. Ca permet de pas se prendre la tête pour les événements à envoyer au JTree, ça le fait tout seul.
Sinon il faut utiliser les fireTruc... quand tu as fait des modif.
mon Jtree est vide, Mais est crée J'ai une méthode qui me renvoi un DefaultMutableTreeNode docCitation:
ret = _ObjectTools.getXml(chargement.getDirectory()+"/"+chargement.getFile());
if (ret == true){
DefaultMutableTreeNode doc = _ObjectTools.ObjectToTree();
//System.out.println(doc);
JTree jTree2 = new JTree(doc);
jTree.removeAll();
jTree = jTree2;
jTree.setRootVisible(true);
System.out.println(jTree.toString());
}
Voila je vais essaye de changer DefaultMutableTreeNode le plutot que le jtree.
jTree = jTree2; ça ne va jamais marcher ça...
Tu changes la référence de l'objet JTree contenu dans ta classe mais tu ne change pas celui contenu par ton Panel. Donc forcément, ça ne change pas !
D'accord mais J'ai d'abord réinitialiser jTree en ajoutant doc par le constructeur mais ça n'a rien fais alors j'ai decomposer mais je me doute bien que c'est pas la bonne méthode :(Citation:
jTree = jTree2; ça ne va jamais marcher ça...
Tu changes la référence de l'objet JTree contenu dans ta classe mais tu ne change pas celui contenu par ton Panel. Donc forcément, ça ne change pas !
essaye ça :
Code:
1
2
3
4
5
6
7 ret = _ObjectTools.getXml(chargement.getDirectory()+"/"+chargement.getFile()); if (ret == true){ DefaultMutableTreeNode doc = _ObjectTools.ObjectToTree(); jTree.setModel(new DefaultTreeModel(doc)); jTree.setRootVisible(true); System.out.println(jTree.toString());
Merci le y@m's c'estQui permet de changer d'arbre. Donc ça marche :ccool:Citation:
setModel(TreeModel newModel)
Sets the TreeModel that will provide the data.
Si ça marche faut cliquer sur :resolu: en bas à gauche alors ;)