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 :

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);*/
                    }
                });
Dans ce cas je recréer l'arbre en entier , je récupère le modèle que j'affecte à l'arbre.
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 .

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);
 
                    }
                });
Je récupère le modèle de mon arbre puis j'appel la méthode reload() puis j'y affecte le modèle.
Problème : aucun rafraichissement se réalise !!

Où est mon problème alors ?

Merci d'avance .