# JTree und DefaultMutableTreeNode



## naeko (3. Mrz 2006)

hallo,

ich möche in einem JTree mehrere Parents haben.Also so:

*parent1
|
|---child1
|---child2
|---child3
|---...
|
*parent2
|
|---child1
|---child2
|---child3
|---...
*parent3
|
|---child1
|---child2
|---child3
|---...
usw.
bis jetzt mach ich es so, allerding ohne Erfolg:

```
DefaultMutableTreeNode node = new DefaultMutableTreeNode("Gruppe 1, Testgruppe");
		node.add(new DefaultMutableTreeNode("Name1, Vorname1"));
		node.add(new DefaultMutableTreeNode("Name2, Vorname2"));
		node.add(new DefaultMutableTreeNode("Name3, Vorname3"));
das hier funktioniert nicht mehr--->		node.setParent(new DefaultMutableTreeNode("Gruppe 2, Testgruppe 2")); 
		node.add(new DefaultMutableTreeNode("Schmidt, Angelika"));
                JTree tree = new JTree(node);
```

also ein parent mit entsprechenden children erzeuge ich... aber im selben tree klappt es nicht noch ein parent zu erzeugen.ich weiß dass es klappen würde indem ich mehrere tree´s erzeuge....aber ich will halt in einem tree meine struktur haben


----------



## SamHotte (3. Mrz 2006)

Normal geht das so auch nicht, per Definition hat ein Knoten maximal einen Elternknoten, sonst isses kein Baum. Du könntest aber mal probieren, die jeweiligen User-Objects auf das gleiche Element zeigen zu lassen, vielleicht hast du dann die gewünschte Darstellung?


----------



## Guest (3. Mrz 2006)

schade...
kann man eigenlich in baum neben den children-Element check oder radiobuttons platzieren (anstatt gewöhnlichen zeichen die angezeigt werden wenn man ein tree erzeugt) oder ist da die verwendung von listen besser?
also sowas: (O ist radiobutton ◘ ist checkbox)
*parent1
|
|--O child1
|--O child2
|--O child3 


*parent1
|
|--◘ child1
|--◘ child2
|--◘ child3


----------



## SamHotte (3. Mrz 2006)

Bei Swing weiß ich nicht, ob es da mittlerweile was gibt (bis einschließlich JDK 1.4 gab's nix); mit SWT gehen zumindest Checkboxen.


----------



## Illuvatar (3. Mrz 2006)

Zum Ersten:
Hänge deine "parents" alle an einen Knoten an, den du als root definierst. Den kannst du dann im Baum mit setRootVisible() unichtbar machen. Schwupps, siehts aus, wie gewünscht 

Zum Zweiten:
Sowas geht natürlich auch, mit eigenem CellRenderer/CellEditor.


----------

