JTree: Knoten verschieben unterhalb des gleichen Parent?

Loki2

Erfahrenes Mitglied
Hallo

Wie kann ich die Reihenfolge der Knoten, unterhalb eines Parents, bei einem JTree ändern?
Ich habe schon ein paar Drag 'n Drop Beispiele für den JTree gefunden doch diese bezogen sich immer nur darauf die Knoten von einem Tree oder Parent zum anderen zu verschieben. Einfach nur die Reihenfolge zu ändern ist mir bisher noch nicht gelungen. :(

Beispiel:
Vorher:
1
1.1
1.2
1.3
1.4
1.5

Nachher:
1
1.2
1.1
1.5
1.3
1.4

Hat hier jemand einen hilfreichen Hinweis für mich?

Gruß und so
Loki2
 
Soeinfach scheint's garnicht zu gehen. Du besitzt keinerlei set-Methoden. Du könntest über das TreeModel rankommen:

1. Keine Immutable-Objects verwenden (also kein String, Integer, ect.), sondern ein eigenes Objekt schreiben, das einen String beinhaltet:

Code:
public class MyString {
public String s;
}

2. Deinen JTree mit diesen Objekten füllen

3. TreeModel verwenden, um z.B. den Platz 6 mit 3 zu tauschen:

Code:
MyString ms6 = (MyString)myTreeModel.getChild(myParent, 6);
MyString ms3 = (MyString)myTreeModel.getChild(myParent, 3);
String temp = ms6.s;
ms6.s = ms3.s;
ms3.s = temp;

Das war's schon.

P.S.: Wenn es noch eine einfachere Lösung gibt (Tom hat bestimmt noch was in Petto ;)), wäre ich selbst auch sehr daran interessiert.
 
Zurück