Bonjour
Dans le cadre d'un projet professionnel, nous utilisons dans notre application graphique un JTree qui représente la structure d'un objet métier qui peut être représentée de la manière suivante
Project (noeud racine)
|_ Module0
|_ Equation0|_ Equation1|_ Equation2|_ Equation1|_ Equation3|_ Equation0- Module1|_ Equation1
|_ Equation n
Ici chaque noeud Equation1 représente le même objet (donc avec la même référence)
Notre JTree utilise une implémentation de TreeModel (au début nous utilisions un DefaultTreeModel avec des TreeNodes mais la complexité ayant augmenté rapidement, nous avions un problème d'utilisation de la mémoire )
Lorsque l'on rajoute une équation métier Equation4 dans Equation1 nous devons rafraichir notre arbre (pour chaque noeud Equation1 un fireTreeNodesInserted(treePath, childIndices, children) est exécuté) pour avoir l'arbre suivant
Project
|_ Module0
|_ Equation0|_ Equation1|_ Equation4|_ Equation2|_ Equation1|_ Equation4|_ Equation3|_ Equation0|_ Equation1|_ Module1|_ Equation4
|_ Equation n
Le problème est que Equation1 peut être représenté parfois quelques millions de fois (actuellement notre arbre contient + 2 milliards de noeuds et ca continuera d'augmenter heureusement l'arbre n'est pas expandé complètement), nous faisons donc quelques millions de fois des fireTreeNodesInserted pour chaque Equation1,
je voudrais savoir s'il y avait un moyen de faire autrement
Merci
Partager