In JTree die Struktur beeinflussen

chrismass

Mitglied
Hi zusammen!
Ich habe mir von http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html#dynamic das "DynamicTreeDemo" angesehen. Ich möchte es nun so verändern, dass ich über zwei Buttons entweder ein Blatt oder einen Knoten einfügen kann. Blätter sollen natürlich nur zu Knoten und nicht zu Blättern hinzugefügt werden können. Für Blätter und Knoten sollen auch unterschiedliche Icons verwendet werden.

Die Icons austauschen ist kein Problem. Allerdings weiß ich nicht wie ich es programmieren soll, dass ein eingefügtes Objekt immer ein Blatt ist oder immer ein Knoten ist.

Im Prinzip will ich damit eine Ordnerstruktur simulieren. Also Ordner=Knoten und Dateien=Blätter.

Hab momentan keinen Ansatzpunkt.
Meine erste Überlegung war, zwei verschiedene addObject Methoden zu schreiben. Aber mir ist halt nicht klar wie ich festlegen kann ob das eingefügte ein Knoten oder ein Blatt ist.
 
Hallo,

vor so einem Problem stand ich auch mal. Man kann bei einem JTree nicht festlegen, ob ein Node ein Knoten oder Blatt sein soll. Das hängt davon ab, ob der Knoten Unterknoten hat. Ein leeres Verzeichnis wird also immer das "Blatt-Icon" haben.
Ich habs so gelöst, dass Knoten, die Verzeichnisse darstellen sollen, beim Hinzufügen immer einen leeren Unterknoten bekommen und beim Öffnen (im Listener) dieser entfernt und der richtige Inhalt des Verzeichnisses hinzugefügt wird.
 
Zurück