Ein eigenes TreeModel schreiben
TreeModels enthalten die Daten, die ein JTree darstellen soll. In diesem Artikel werden wir uns damit befassen, wie man Schritt für Schritt ein eigenes dynamisches TreeModel aufbaut. Nach der Lektüre dieses Artikels sollte der Leser in der Lage sein, selbstständig eigene TreeModels zu entwickeln.
Überblick
Damit der JTree das darzustellende Datenformat verstehen kann, muss dieses einem entsprechenden Standard genügen. Den kleinsten gemeinsamen Nenner bildet hier das TreeModel.
Im Gegensatz zu JTable existiert für den JTree keine abstrakte Standardimplementierung seines Datenmodells. JTable bietet hier die Klasse AbstractTableModel welche das Interface TableModel implementiert an. Diese Klasse enthält bereits eine einfache Verarbeitung von TableModelEvents, reagiert also auf Veränderungen im TableModel. AbstractTableModel wird schließlich von DefaultTableModel beerbt, mit dem Tabellen mit Standard-Datentypen wie bspw. Integer, Double, Float, Boolean, String, Icon erzeugt werden können. Mehr zu all dem im großen JTable (Tutorial)©.
Eine vergleichbare Klasse AbstractTreeModel gibt es in der Java-API nicht. Für eigene baumartig strukturierte Datentypen muss hier ein eigenes TreeModel geschrieben werden. Mit DefaultTreeModel gibt es schon eine Standardimplementierung eines TreeModels. Die Daten des Baums werden mit Hilfe von Objekten, die das Interface TreeNode implementieren, dargestellt. Veränderbare Daten erfordern den Einsatz von MutableTreeNode. Eine Standardimplementierung wird bereits mit DefaultMutableTreeNode von der Java-API mitgeliefert. Mehr dazu im großen JTree (Tutorial)©.
Das Interface TreeModel
![]() |
Dieser Beitrag wird derzeit noch bearbeitet. Der Text ist deshalb unvollständig und kann Fehler oder ungeprüfte Aussagen enthalten. |

