Ändern Sie die Größe des JTree-Knotennamens, wenn Sie ein Symbol dynamisch hinzufügen, nachdem der Baum generiert wurde

StackOverflow https://stackoverflow.com/questions/9382627

Frage

In meinem Code kann ein JTree-Knoten abhängig von einer Bedingung einen Icon haben oder nicht. Mein Problem ist, wenn ich den Icon für einen Knoten festlegen möchte, die Größe des Knotennamens reduziert wird und " ... " angehängt wird.

Im Grunde genommen berechnet der Knoten seine Größe basierend auf der Symbolgröße neu und passt den Rest an.

Wie kann ich dieses Verhalten verhindern und dem Knoten erlauben, seine Größe zu erweitern, wenn ein Symbol hinzugefügt wird?

Hier ist ein Screenshot von ohne / mit Symbol:

Bildbeschreibung hier eingeben

War es hilfreich?

Lösung

weiß nicht, wo Sie es tun, aber Sie vermuten, dass Sie es unter den Füßen des TreeModel tun: Der LayoutCache führt viele .. na ja .. Größen zwischen, sodass Sie sicherstellen müssen, dass dieser Cache ungültig wird.Der einzige Weg, dies zu tun, ist über TreeModelEvents, ungefähr (vorausgesetzt, das Modell ist vom Typ DefaultTreeModel):

myNodeData.setIcon(...);
treeModel.nodeChanged(node);

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top