Ändern Sie die JTree-Knotensymbole entsprechend der Tiefenebene

8

Ich suche nach dem Ändern der verschiedenen Symbole meines JTree (Swing)

Die Java-Dokumentation erklärt, wie man Symbole ändert, wenn ein Knoten ein Blatt ist oder nicht, aber das ist wirklich nicht das, was ich suche.

Für mich spielt es keine Rolle, ob ein Knoten ein Blatt ist oder ich möchte nur die Symbole ändern, wenn der Knoten sich in der ersten / zweiten / dritten Tiefesebene der drei befindet.

    
Soulou 09.01.2011, 18:07
quelle

2 Antworten

8

Als Alternative zu einem benutzerdefinierten TreeCellRenderer können Sie die UI-Standardeinstellungen für collapsedIcon und expandedIcon :

ersetzen %Vor%

TreeIcon ist einfach eine Implementierung der Icon Schnittstelle:

%Vor%     
trashgod 09.01.2011 20:18
quelle
5

Implementieren Sie ein benutzerdefiniertes TreeCellRenderer - verwenden Sie ein JLabel für die Komponente, und legen Sie das Symbol wie gewünscht fest, indem Sie die Daten des in der Struktur gespeicherten Objekts verwenden. Sie müssen das Objekt möglicherweise umbrechen, um seine Tiefe usw. zu speichern, wenn das Objekt primitiv ist (z. B. String)

Ссылка Ссылка

    
ron 09.01.2011 18:12
quelle

Tags und Links