JTree Einzelne Objekte färben

  • Themenstarter Themenstarter Corto
  • Beginndatum Beginndatum
C

Corto

Gast
Hallo zusammen,

ich hab mir einen JTree erstellen lassen, über Defaultmutabletreenodes, und möchte jetzt einzelne BESTIMMTE objekte in diesem Baum farbig hinterlegen.
Ich kann für den ganzen Baum die Backgroundcolor ändern, jedoch wie schafft man es einzelne Nodes zu verändern ?

Kann mir das jemand einen Tipp geben oder nen kleinen Beispielcode ?

mfg corto
 
hm hab auch schon ne weile damit herumprobiert, oder besser gesagt ich habs versucht ^^
ich komm damit nich wirklich klar, oder besser gesagt ich verteh dem sein system nicht.

zum problem nochmal ich hab nen baum ...

root ----a---b
|
x--b----a
|
x ---a

hoff man verstehts ^^ ich möchte nun das er beim klicken eines buttons alle "a" rot färbt.
gut man kann dem cellrenderer ja n component zurückliefern, jedoch wir färbe ich das und geschweige denn frage ich ab welches objekt das ist.
falls die Fragen dumm erscheinen ... hab mit grafikprogrammierung net viel ahnung da ich erst seit kurzem gezungen bin damit zu arbeiten.
 
Den Aufbau des Baums hab ich ehrlich gesagt nicht verstanden.

Zunächst einmal müssen die a Knoten für den CellRenderer von den anderen unterscheidbar sein.
Dann muss die Art der Darstellung entweder allgemein oder mit einem Attribut an den Objekten konkret definiert werden.

In deinem Fall könnte man das so machen, das man eine Variable definiert hinterGrundFarbeFuerAKnoten, die initial auf Weiss gesetzt ist.
Der Renderer überprüft, ob es sich bei dem zu rendernden Knoten um ein a Knoten handelt und besetzt dessen Hintergrund mit dem Wert dieser Variablen.

Nach dem Buttonclick wird die Variable auf Rot gesetzt und ein Neuzeichnen des Baums angefordert.
Da der Renderer den a Knoten den Wert der Variable als Hintergrundfarbe zuweist, werden nun alle a Knoten rot.
 

Zurück
Oben