JTree und DefaultMutableTreeNode

  • Themenstarter Themenstarter naeko
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
N

naeko

Gast
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:
Code:
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
 
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?
 
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
 
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.
 
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.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben