# JTree: setSelectionPath



## abschnitt (13. Jul 2004)

Hallo!

Ich habe folgendes Problem:
In meinem JTree kann alles wunderbar ausgewählt werden, aber wenn ich ein neues Model setzte dann sieht das anders aus.

Nach  *tree.setModel(treeModelNeu) *, ist es mir nicht mehr möglich eine Auswahl auf einzelne Elemente mit *tree.setSelectionPath(wahlTreePath)* zu vergeben.
Komischerweise kann ich aber über z.B. *tree.setSelectionRow(var)* Verzeichnisse auswählen.

Hat jemand von euch eine Ahnung mit was das zusammenhängt?
Muss ich mit dem neuen TreeModel noch etwas anstellen, damit ich die Elemente im Baum auswählen kann?

Vielen Dank für euere Hilfe


----------



## Beni (13. Jul 2004)

Wahrscheinlich ist der alte TreePath einfach nicht mehr gültig (wenn du das Model änderst, gibt es wohl auch neue Daten im Tree...). Bau den TreePath einfach nochmal neu auf.


----------



## abschnitt (13. Jul 2004)

Hm, könnt ich machen.
Was etwas irritierend ist, ist die Tatsache, dass ich mit *tree.getSelectionPath()* den neu gesetzten Pfad (vom neuen Model) bekomme, aber im Baum wird das Element nicht markiert.
Das ist schon etwas komisch.


----------



## Xenophon (13. Jul 2004)

abschnitt hat gesagt.:
			
		

> Was etwas irritierend ist, ist die Tatsache, dass ich mit *tree.getSelectionPath()* den neu gesetzten Pfad (vom neuen Model) bekomme, aber im Baum wird das Element nicht markiert.



Ist den Dein Ergebniss von tree.getSelectionPath() != null und wieviele Element hat er?
Poste mal ein bissel Code. Dabei wäre vorallem der Teil interessant, bei dem Du Deinen neuen TreePath zusammenstellst, den Du dann bei "tree.setSelectionPath(wahlTreePath)" übergibst.

MfG

Xenophon


----------



## abschnitt (14. Jul 2004)

Vom Code her habe ich mich an diesem Beispiel orientiert:
http://www.java-forum.org/de/viewtopic.php?t=5631&highlight=jtree

Ich verwende in meinem Baum den letzten markierten Knoten und will diesen auch wieder im Baum mit neuem Model setzten, aber das funktioniert nicht.

Frage:
Ist es überhaupt möglich einen *TreePath alterKnoten* aus dem alten Model für das Selektieren *tree.setSelectionPath(alterKnoten) * im neuen Model zu verwenden?
Denn  im Baum (mit dem neuen Model)  wird nichts aufgeklappt und auch nichts markiert!


----------

