Bonjour à tous ,
J'ai une classe "tree" qui créer un arbre et qui peut renvoyer le modèle de l'arbre à l'aide d'un guetteur.
Je récupère ce modèle et je l'affecte à mon Jtree , au premier lancement sa passe mais lorsque j'essaie de le rafraichir , il ne le fait pas.
Comme est ce que je le rafraichit ?
Je fait clic droit un menu apparait et il y a un item "Mettre à jour l'arbre".
1ère solution qui marche :
Dans ce cas je recréer l'arbre en entier , je récupère le modèle que j'affecte à l'arbre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void actionPerformed(final ActionEvent e) { DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Racine de l'arbre"); tree = new Tree(racine); model = tree.getModele(); arbre.setModel(model);*/ } });
Cette solution marche mais le problème c'est que lorsque je construit mon arbre je fait des requêtes vers une BDD et j'ai pas mal d'infos dans mon arbre donc cela met environ 10 secondes pour me rafraichir l'arbre ce qui peut être gênant pour le client.
2ème solution : rafraichir le modèle à l'aide de la fonction reload .
Je récupère le modèle de mon arbre puis j'appel la méthode reload() puis j'y affecte le modèle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void actionPerformed(final ActionEvent e) { model = tree.getModele(); model.reload(); arbre.setModel(model); } });
Problème : aucun rafraichissement se réalise !!
Où est mon problème alors ?
Merci d'avance .![]()
Partager