Getting Default TreeCellRenderer From JTree : JTree Editor Renderer « Swing « Java Tutorial





Getting Default TreeCellRenderer From JTree
import java.awt.BorderLayout;
import java.awt.Color;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;

class TreeNodeVector<E> extends Vector<E> {
  String name;

  TreeNodeVector(String name) {
    this.name = name;
  }

  TreeNodeVector(String name, E elements[]) {
    this.name = name;
    for (int i = 0, n = elements.length; i < n; i++) {
      add(elements[i]);
    }
  }

  public String toString() {
    return "[" + name + "]";
  }
}

public class ChangingTreeCellRendererBackgroundForegroundColor {
  public static void main(final String args[]) {
    JFrame frame = new JFrame("JTreeSample");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Vector<String> v1 = new TreeNodeVector<String>("Two", new String[] { "Mercury", "Venus",
        "Mars" });
    Vector<Object> v2 = new TreeNodeVector<Object>("Three");
    v2.add(System.getProperties());
    v2.add(v1);
    Object rootNodes[] = {v1, v2 };
    Vector<Object> rootVector = new TreeNodeVector<Object>("Root", rootNodes);
    JTree tree = new JTree(rootVector);

    DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer();

    Color backgroundSelection = renderer.getBackgroundSelectionColor();
    renderer.setBackgroundSelectionColor(renderer.getBackgroundNonSelectionColor());
    renderer.setBackgroundNonSelectionColor(backgroundSelection);

    Color textSelection = renderer.getTextSelectionColor();
    renderer.setTextSelectionColor(renderer.getTextNonSelectionColor());
    renderer.setTextNonSelectionColor(textSelection);

    
    frame.add(new JScrollPane(tree), BorderLayout.CENTER);

    frame.setSize(300, 300);
    frame.setVisible(true);
    
  }
}










14.69.JTree Editor Renderer
14.69.1.Getting Default TreeCellRenderer From JTreeGetting Default TreeCellRenderer From JTree
14.69.2.extends JLabel implements TreeCellRendererextends JLabel implements TreeCellRenderer
14.69.3.Creating a Custom RendererCreating a Custom Renderer
14.69.4.Working with Tree Tooltips: using a Tooltip Cell RendererWorking with Tree Tooltips: using a Tooltip Cell Renderer
14.69.5.Editing Tree Nodes with triple clickingEditing Tree Nodes with triple clicking
14.69.6.Creating a DefaultCellEditor: JTextFieldCreating a DefaultCellEditor: JTextField
14.69.7.Creating a DefaultCellEditor: JComboBoxCreating a DefaultCellEditor: JComboBox
14.69.8.Creating a DefaultCellEditor: JCheckBoxCreating a DefaultCellEditor: JCheckBox
14.69.9.Creating a Proper ComboBox Editor for a TreeCreating a Proper ComboBox Editor for a Tree
14.69.10.Creating an Editor Just for Leaf NodesCreating an Editor Just for Leaf Nodes
14.69.11.Rendering an image in a JTable column
14.69.12.Setting the Activation Click Count for a Table Cell Editor in a JTable Component
14.69.13.Using DefaultTreeCellRenderer
14.69.14.Changing and Removing the Default Icons in a JTree Component
14.69.15.Use UIManager to change the default icon for JTree
14.69.16.Flush the internal cache of Row height