Module java.desktop

Class DefaultTreeCellRenderer

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants, TreeCellRenderer

public class DefaultTreeCellRenderer
extends JLabel
implements TreeCellRenderer
Displays an entry in a tree. DefaultTreeCellRenderer is not opaque and unless you subclass paint you should not change this. See How to Use Trees in The Java Tutorial for examples of customizing node display using this class.

The set of icons and colors used by DefaultTreeCellRenderer can be configured using the various setter methods. The value for each property is initialized from the defaults table. When the look and feel changes (updateUI is invoked), any properties that have a value of type UIResource are refreshed from the defaults table. The following table lists the mapping between DefaultTreeCellRenderer property and defaults table key:

Property Key
"leafIcon" "Tree.leafIcon"
"closedIcon" "Tree.closedIcon"
"openIcon" "Tree.openIcon"
"textSelectionColor" "Tree.selectionForeground"
"textNonSelectionColor" "Tree.textForeground"
"backgroundSelectionColor" "Tree.selectionBackground"
"backgroundNonSelectionColor" "Tree.textBackground"
"borderSelectionColor" "Tree.selectionBorderColor"

Implementation Note: This class overrides invalidate, validate, revalidate, repaint, and firePropertyChange solely to improve performance. If not overridden, these frequently called methods would execute code paths that are unnecessary for the default tree cell renderer. If you write your own renderer, take care to weigh the benefits and drawbacks of overriding these methods.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the java.beans package. Please see XMLEncoder.