Bonjour
Je vous écris à propos de JTree. Je sais que des sujets traitent à peu près du même problème que le mien mais je préfère reposter un sujet avec mon cas précis.
Voilà.
J'ai un JSplitPane dans lequel j'ai deux Panel. A gauche, un arbre JTree, a droite, un formulaire.
Dans l'arbre j'affiche des items, et à droite leur description.
Quand je clic droit sur un item à gauche, je peux lui ajouter un sous-item : les champs du formulaire s'effacent, je les remplis et je sauvegarde.
Mon problème c'est que après la sauvegarde, mon tree est bien rechargé, mais il est complètement collapsé. Et j'aimerais au contraire qu'il garde le même état.
Pour info, j'étends JTree et j'implémente TreeModel pour faire un model custom.
Lorsque je créé un élément, je recharge pour l'instant tout le modèle (j'ai pensé à faire une recharge locale mais je suis pas sûr que çà m'aiderait... à vous de me dire...)
Donc ma question est: d'après vous, pourquoi mon arbre se collapse complètement? est-ce parce que je recharge complètement le model?
J'ai essayé de conserver le chemin du dernier node sur lequel j'avais cliqué, puis de faire myTree.scrollPathToVisible(myLastNodePath). Mais çà ne marche pas. Au rechargement du modèle, je recrée tous les nodes... Cela viendrait-il de cela?
La solution est-elle de faire un reload local et de retrouver le nouveau treePath correspondant à l'ancien?
Une autre solution serait de poursuivre mes reloads globaux et de retrouber le nouveau treePath correspndant à l'ancien... Mais j'ai peur qu'alors seul ce chemin là soit expansé (j'ai oublié lol comment on dit en francais)... càd si j'avais egalement expandé d'autres chemins, çà va se perdre.... Alors que dois-je faire? Sauvegarder un état de mon arbre avant le reload et essayer de le mapper au nouvel arbre?
Bref aidez-moi svp.
J'étais tout content d'avoir réussi à gérer la création/edition/suppression des noeuds côté interface et côté serveur, et là je me retrouve bloqué avec ce petit bug bizarre.... Alors je m'énerve, et j'essaie des solutions trouvées sur les forums, et je fais des bricolages et c'est pire... Donc bref j'attends vos réponses, je vais faire une pause jusqu'à demain matin très probablement...
Nicolas.
Partager