Das Symbol bestimmter Knoten in JTree dynamisch ändern

Ich habe viele Beispiele für das Ändern des Symbols von Knoten während der Bauminstanziierung gesehen, möchte aber später die Möglichkeit haben, das Symbol eines einzelnen Knotens dynamisch zu ändern. Also füge ich in meinem Hauptcode meinen benutzerdefinierten Renderer zu meinem Baum hinzu:

// Icon I want to set nodes to later
ImageIcon checkIcon = new ImageIcon("check.jpg");

// Creates tree with my nodes
JTree tree = new JTree(nodes.top);

// Create custom renderer
Scenario1Renderer renderer = new Scenario1Renderer();

// Set to single tree selection 
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);

// Set tree to my custom renderer
//renderer.setRendererIcon(greenIcon);
tree.setCellRenderer(renderer);

Mein Code im Renderer ist

public class Scenario1Renderer extends DefaultTreeCellRenderer {

ImageIcon rendererIcon;

    public void setRendererIcon(ImageIcon myIcon){
      this.rendererIcon = myIcon;
    };

public Component getTreeCellRendererComponent( 
         JTree tree, 
         Object value, 
         boolean sel, 
         boolean expanded, 
         boolean leaf, 
         int row, 
         boolean hasFocus)
{ 

    Component ret = super.getTreeCellRendererComponent(tree, value,
            selected, expanded, leaf, row, hasFocus);
            //setIcon( rendererIcon ) ;
            return ret;
    } 

Wenn ich also mein rendererIcon einstelle, werden alle meine Knoten mit dem Symbol gezeichnet, das ich während der Bauminstanziierung übergebe. Ich möchte stattdessen eine Methode, mit der das Symbol eines einzelnen Knotens später bei der Ausführung meines Programms festgelegt werden kann.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage