Bonjour à tous,
Après avoir créer un arbre avec la classe DefaultMutableTreeNode. J'instancie cet arbre avec des paires d'élément que je nomme Pair(String element, boolean b). Le code qui suit est l'instanciation de l'arbre:
L'arbre ressemble donc a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 tree1 = new DefaultMutableTreeNode("1"); DefaultMutableTreeNode tree2t = new DefaultMutableTreeNode(new FT_Pair("2", true)); DefaultMutableTreeNode tree3t = new DefaultMutableTreeNode(new FT_Pair("3", true)); DefaultMutableTreeNode tree4t = new DefaultMutableTreeNode(new FT_Pair("4", true)); DefaultMutableTreeNode tree5t = new DefaultMutableTreeNode(new FT_Pair("5", true)); DefaultMutableTreeNode tree6ta = new DefaultMutableTreeNode(new FT_Pair("6", true)); DefaultMutableTreeNode tree6tb = new DefaultMutableTreeNode(new FT_Pair("6", true)); DefaultMutableTreeNode tree6tc = new DefaultMutableTreeNode(new FT_Pair("6", true)); DefaultMutableTreeNode tree6td = new DefaultMutableTreeNode(new FT_Pair("6", true)); DefaultMutableTreeNode tree7t = new DefaultMutableTreeNode(new FT_Pair("7", true));
1
|--2,true
| |--4,true
| | |--6,true
| |
| |--5,true
|
|--6, true
|
|--3,true
|--7,true
| |--6,true
|
|--6,true
Ensuite j'aimerai effacer tous les éléments contenant 6 comme premier élément dans l'arbre.Donc je fais
Cependant le removeFromParent ne m'efface que deux élements sur les quatres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Enumeration enumerationOnTree = tree1.depthFirstEnumeration(); while(enumerationOnTree.hasMoreElements()) { DefaultMutableTreeNode element = (DefaultMutableTreeNode)enumerationOnTree.nextElement(); if(element.getUserObject().getClass().toString().equals("class FT_Pair")){ if(((FT_Pair)element.getUserObject()).ft_getFirst().toString().compareTo("6") == 0){ element.removeFromParent(); } } }
Pourtant si je lui demande simplement de m'afficher les éléments qu'il rencontre (sans le removeFromParent), il m'affiche bien les quatres éléments.
Que se passe t-il avec removeFromElement?
Avez-vous une idéee?
Merci
Partager