public class Desarberiseur { public static void main(final String[] args) { final DefaultMutableTreeNode root = new DefaultMutableTreeNode("Famille"); final DefaultMutableTreeNode Parent1 = new DefaultMutableTreeNode("Parent1"); final DefaultMutableTreeNode Enfant1deParent1 = new DefaultMutableTreeNode("Enfant1deParent1"); final DefaultMutableTreeNode Enfant2deParent1 = new DefaultMutableTreeNode("Enfant2deParent1"); final DefaultMutableTreeNode Enfant3deParent = new DefaultMutableTreeNode("Enfant3deParent 1"); final DefaultMutableTreeNode Enfant4deParent = new DefaultMutableTreeNode("Enfant4deParent 1"); final DefaultMutableTreeNode PetitEnfant1deparent4 = new DefaultMutableTreeNode("PetitEnfant1deparent4"); final DefaultMutableTreeNode Parent2 = new DefaultMutableTreeNode("Parent2"); final DefaultMutableTreeNode Enfant1deParent2 = new DefaultMutableTreeNode("Enfant1deParent2"); final DefaultMutableTreeNode Enfant2deParent2 = new DefaultMutableTreeNode("Enfant2deParent2"); Parent1.add(Enfant1deParent1); Parent1.add(Enfant2deParent1); Parent1.add(Enfant3deParent); Enfant4deParent.add(PetitEnfant1deparent4); Parent1.add(Enfant4deParent); root.add(Parent1); Parent2.add(Enfant1deParent2); Parent2.add(Enfant2deParent2); root.add(Parent2); final Desarberiseur desar = new Desarberiseur(); desar.getChilds(root); } private ArrayList<Object> getChilds(final Object root) { if (root != null) { final ArrayList<Object> child = new ArrayList<Object>(1); final DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) root; final int count = rootNode.getChildCount(); if (count != 0) { System.out.println("Node 0 : " + rootNode); child.add(rootNode); } final Enumeration en = rootNode.children(); while (en.hasMoreElements()) { final Object node = en.nextElement(); if (((DefaultMutableTreeNode) node).children() != null) { System.out.println("Node 1 : " + (node)); child.add(getChilds((node))); } } if (count == 0) { System.out.println("Node 2 : " + rootNode); child.add(rootNode); } System.out.println("Return : " + child); return child; } else { System.out.println("Return : "); return null; } } }
Node 0 : Famille
Node 1 : Parent1
Node 0 : Parent1
Node 1 : Enfant1deParent1
Node 2 : Enfant1deParent1
Return : [Enfant1deParent1]
Node 1 : Enfant2deParent1
Node 2 : Enfant2deParent1
Return : [Enfant2deParent1]
Node 1 : Enfant3deParent 1
Node 2 : Enfant3deParent 1
Return : [Enfant3deParent 1]
Node 1 : Enfant4deParent 1
Node 0 : Enfant4deParent 1
Node 1 : PetitEnfant1deparent4
Node 2 : PetitEnfant1deparent4
Return : [PetitEnfant1deparent4]
Return : [Enfant4deParent 1, [PetitEnfant1deparent4]]
Return : [Parent1, [Enfant1deParent1], [Enfant2deParent1], [Enfant3deParent 1], [Enfant4deParent 1, [PetitEnfant1deparent4]]]
Node 1 : Parent2
Node 0 : Parent2
Node 1 : Enfant1deParent2
Node 2 : Enfant1deParent2
Return : [Enfant1deParent2]
Node 1 : Enfant2deParent2
Node 2 : Enfant2deParent2
Return : [Enfant2deParent2]
Return : [Parent2, [Enfant1deParent2], [Enfant2deParent2]]
Return : [Famille, [Parent1, [Enfant1deParent1], [Enfant2deParent1], [Enfant3deParent 1], [Enfant4deParent 1, [PetitEnfant1deparent4]]], [Parent2, [Enfant1deParent2], [Enfant2deParent2]]]
Famille Parent1, Enfant1deParent1 Enfant2deParent1 Enfant3deParent 1 Enfant4deParent 1 PetitEnfant1deparent4 Parent2, Enfant1deParent2 Enfant2deParent2