# JTree aktualisieren



## Fabian23 (8. Dez 2006)

Hallo zusammen,

ich ändere ein bestimmtes Node in meinem JTree, in dem ich den Namen ändere (er wird länger). Wenn ich jetzt beispielsweise ein .repaint() aufrufe, dann erscheint der Text des Nodes folgendermaßen "Name...", also mit den typischen Punkten, wenn der Name zu lang ist. Erst wenn ich ich wieder ein Node in den Tree einfüge, dann wird das Element korrekt angezeigt.

Woran liegt das und wie ich kann ich das beheben?


Gruß,
Fabian


----------



## Beni (8. Dez 2006)

Du musst dem Baum schon sagen, dass ein Knoten verändert wurde. Dies kannst du z.B. durch die TreeModelListener, die dein TreeModel hat, machen (die Methode "treeNodeChanged" aufrufen).

Siehe auch FAQ


----------



## SlaterB (8. Dez 2006)

ganz allgemeiner Tipp bei allen Layout-Problemen:
hilft validate() oder revalidate()?


----------



## Beni (8. Dez 2006)

SlaterB: selbst wenn es in diesem Fall hilft (habs nicht probiert), für Änderungen irgendeines Modeles (TreeModel, ListModel, TableModel, ...) sollten immer die Listener, die diesem Model hinzugefügt wurden, verwendet werden.
Für manche Infos verwenden JTree, JTable, ... interne Caches, und die werden von "validate" nicht beeinflusst.


----------



## AlArenal (8. Dez 2006)

SlaterB hat gesagt.:
			
		

> ganz allgemeiner Tipp bei allen Layout-Problemen:
> hilft validate() oder revalidate()?



Ganz allgemeiner Tipp von mir:
Verlasst euch NIE auf #validate, #revalidate oder #repaint. Das ist reine Flickschusterei. Besser ist es zu verstehen wie etwas funktioniert und dieses Wissen anzuwenden.


----------



## Fabian23 (8. Dez 2006)

Hallo Beni,

jep, genau das war's. Danke sehr!


Gruß,
Fabian


----------



## Gast (3. Feb 2009)

Hab noch ein neues Problem:

Da der Baum keine Netzwerk pfade anzeigt, würde ich gerne eine funktion zum auslesen einer Netzwerkfestplatte (root=\\pc\HDD(K)) zur verfügung stellen.
An sich funktioniert es schon, ich bekomme die änderung nur nicht zur laufzeit hin.. - also der Baum aktualisiert sich nicht...

Was kann ich tun?

Gruß D2k


----------

