public class DefaultTreeCellRenderer extends JLabelimplements TreeCellRenderer
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.
JLabel.AccessibleJLabel JComponent.AccessibleJComponent Container.AccessibleAWTContainer Component.AccessibleAWTComponent , Component.BaselineResizeBehavior , Component.BltBufferStrategy , Component.FlipBufferStrategy | Modifier and Type | Field and Description |
|---|---|
protected Color |
backgroundNonSelectionColor
Color to use for the background when the node isn't selected.
|
protected Color |
backgroundSelectionColor
Color to use for the background when a node is selected.
|
protected Color |
borderSelectionColor
Color to use for the focus indicator when the node has focus.
|
protected Icon |
closedIcon
Icon used to show non-leaf nodes that aren't expanded.
|
protected boolean |
hasFocus
True if has focus.
|
protected Icon |
leafIcon
Icon used to show leaf nodes.
|
protected Icon |
openIcon
Icon used to show non-leaf nodes that are expanded.
|
protected boolean |
selected
Is the value currently selected.
|
protected Color |
textNonSelectionColor
Color to use for the foreground for non-selected nodes.
|
protected Color |
textSelectionColor
Color to use for the foreground for selected nodes.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WESTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
DefaultTreeCellRenderer()
Creates a
DefaultTreeCellRenderer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
protected void |
firePropertyChange(String
Overridden for performance reasons.
|
void |
firePropertyChange(String
Overridden for performance reasons.
|
Color |
getBackgroundNonSelectionColor()
Returns the background color to be used for non selected nodes.
|
Color |
getBackgroundSelectionColor()
Returns the color to use for the background if node is selected.
|
Color |
getBorderSelectionColor()
Returns the color the border is drawn.
|
Icon |
getClosedIcon()
Returns the icon used to represent non-leaf nodes that are not expanded.
|
Icon |
getDefaultClosedIcon()
Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are not expanded.
|
Icon |
getDefaultLeafIcon()
Returns the default icon, for the current laf, that is used to represent leaf nodes.
|
Icon |
getDefaultOpenIcon()
Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are expanded.
|
Font |
getFont()
Gets the font of this component.
|
Icon |
getLeafIcon()
Returns the icon used to represent leaf nodes.
|
Icon |
getOpenIcon()
Returns the icon used to represent non-leaf nodes that are expanded.
|
Dimension |
getPreferredSize()
Overrides
JComponent.getPreferredSize to return slightly wider preferred size value.
|
Color |
getTextNonSelectionColor()
Returns the color the text is drawn with when the node isn't selected.
|
Color |
getTextSelectionColor()
Returns the color the text is drawn with when the node is selected.
|
Component |
getTreeCellRendererComponent(JTree
Configures the renderer based on the passed in components.
|
void |
invalidate()
Overridden for performance reasons.
|
void |
paint(Graphics
Paints the value.
|
void |
repaint()
Overridden for performance reasons.
|
void |
repaint(long tm, int x, int y, int width, int height)
Overridden for performance reasons.
|
void |
repaint(Rectangle
Overridden for performance reasons.
|
void |
revalidate()
Overridden for performance reasons.
|
void |
setBackground(Color
Subclassed to map
ColorUIResources to null.
|
void |
setBackgroundNonSelectionColor(Color
Sets the background color to be used for non selected nodes.
|
void |
setBackgroundSelectionColor(Color
Sets the color to use for the background if node is selected.
|
void |
setBorderSelectionColor(Color
Sets the color to use for the border.
|
void |
setClosedIcon(Icon
Sets the icon used to represent non-leaf nodes that are not expanded.
|
void |
setFont(Font
Subclassed to map
FontUIResources to null.
|
void |
setLeafIcon(Icon
Sets the icon used to represent leaf nodes.
|
void |
setOpenIcon(Icon
Sets the icon used to represent non-leaf nodes that are expanded.
|
void |
setTextNonSelectionColor(Color
Sets the color the text is drawn with when the node isn't selected.
|
void |
setTextSelectionColor(Color
Sets the color the text is drawn with when the node is selected.
|
void |
updateUI()
Resets the UI property to a value from the current look and feel.
|
void |
validate()
Overridden for performance reasons.
|
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPositionaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateadd, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprotected boolean selected
protected boolean hasFocus
protected transient IconclosedIcon
protected transient IconleafIcon
protected transient IconopenIcon
protected ColortextSelectionColor
protected ColortextNonSelectionColor
protected ColorbackgroundSelectionColor
protected ColorbackgroundNonSelectionColor
protected ColorborderSelectionColor
public DefaultTreeCellRenderer()
DefaultTreeCellRenderer. Icons and text color are determined from the
UIManager.
public void updateUI()
updateUI in class
JLabel
JComponent.updateUI()
public IcongetDefaultOpenIcon()
public IcongetDefaultClosedIcon()
public IcongetDefaultLeafIcon()
public void setOpenIcon(IconnewIcon)
public IcongetOpenIcon()
public void setClosedIcon(IconnewIcon)
public IcongetClosedIcon()
public void setLeafIcon(IconnewIcon)
public IcongetLeafIcon()
public void setTextSelectionColor(ColornewColor)
public ColorgetTextSelectionColor()
public void setTextNonSelectionColor(ColornewColor)
public ColorgetTextNonSelectionColor()
public void setBackgroundSelectionColor(ColornewColor)
public ColorgetBackgroundSelectionColor()
public void setBackgroundNonSelectionColor(ColornewColor)
public ColorgetBackgroundNonSelectionColor()
public void setBorderSelectionColor(ColornewColor)
public ColorgetBorderSelectionColor()
public void setFont(Fontfont)
FontUIResources to null. If
font is null, or a
FontUIResource, this has the effect of letting the font of the JTree show through. On the other hand, if
font is non-null, and not a
FontUIResource, the font becomes
font.
setFont in class
JComponent
font - the desired
Font for this component
Component.getFont()
public FontgetFont()
getFont in interface
MenuContainer
getFont in class
Component
Component.setFont(java.awt.Font)
public void setBackground(Colorcolor)
ColorUIResources to null. If
color is null, or a
ColorUIResource, this has the effect of letting the background color of the JTree show through. On the other hand, if
color is non-null, and not a
ColorUIResource, the background becomes
color.
setBackground in class
JComponent
color - the desired background
Color
Component.getBackground() ,
JComponent.setOpaque(boolean)
public ComponentgetTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus)
convertValueToText, which ultimately invokes
toString on
value. The foreground color is set based on the selection and the icon is set based on the
leaf and
expanded parameters.
getTreeCellRendererComponent in interface
TreeCellRenderer
Component that the renderer uses to draw the value
public void paint(Graphicsg)
paint in class
JComponent
g - the
Graphics context in which to paint
JComponent.paintComponent(java.awt.Graphics) ,
JComponent.paintBorder(java.awt.Graphics) ,
JComponent.paintChildren(java.awt.Graphics) ,
JComponent.getComponentGraphics(java.awt.Graphics) ,
JComponent.repaint(long, int, int, int, int)
public DimensiongetPreferredSize()
JComponent.getPreferredSize to return slightly wider preferred size value.
getPreferredSize in class
JComponent
preferredSize property
JComponent.setPreferredSize(java.awt.Dimension) ,
ComponentUI
public void validate()
validate in class
Container
Container.add(java.awt.Component) ,
Container.invalidate() ,
Container.isValidateRoot() ,
JComponent.revalidate() ,
Container.validateTree()
public void invalidate()
invalidate in class
Container
Container.validate() ,
Container.layout() ,
LayoutManager2
public void revalidate()
revalidate in class
JComponent
Component.invalidate() ,
Container.validate() ,
JComponent.isValidateRoot() ,
RepaintManager.addInvalidComponent(javax.swing.JComponent)
public void repaint(long tm,
int x,
int y,
int width,
int height)
repaint in class
JComponent
tm - this parameter is not used
x - the x value of the dirty region
y - the y value of the dirty region
width - the width of the dirty region
height - the height of the dirty region
JComponent.isPaintingOrigin() ,
Component.isShowing() ,
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)
public void repaint(Rectangler)
repaint in class
JComponent
r - a
Rectangle containing the dirty region
JComponent.isPaintingOrigin() ,
Component.isShowing() ,
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)
public void repaint()
repaint in class
Component
Component.update(Graphics)
protected void firePropertyChange(StringpropertyName, Object oldValue, Object newValue)
firePropertyChange in class
Component
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value
public void firePropertyChange(StringpropertyName, byte oldValue, byte newValue)
firePropertyChange in class
Component
propertyName - the programmatic name of the property that was changed
oldValue - the old value of the property (as a byte)
newValue - the new value of the property (as a byte)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(StringpropertyName, char oldValue, char newValue)
firePropertyChange in class
JComponent
propertyName - the programmatic name of the property that was changed
oldValue - the old value of the property (as a char)
newValue - the new value of the property (as a char)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(StringpropertyName, short oldValue, short newValue)
firePropertyChange in class
Component
propertyName - the programmatic name of the property that was changed
oldValue - the old value of the property (as a short)
newValue - the old value of the property (as a short)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(StringpropertyName, int oldValue, int newValue)
firePropertyChange in class
JComponent
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value
public void firePropertyChange(StringpropertyName, long oldValue, long newValue)
firePropertyChange in class
Component
propertyName - the programmatic name of the property that was changed
oldValue - the old value of the property (as a long)
newValue - the new value of the property (as a long)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(StringpropertyName, float oldValue, float newValue)
firePropertyChange in class
Component
propertyName - the programmatic name of the property that was changed
oldValue - the old value of the property (as a float)
newValue - the new value of the property (as a float)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(StringpropertyName, double oldValue, double newValue)
firePropertyChange in class
Component
propertyName - the programmatic name of the property that was changed
oldValue - the old value of the property (as a double)
newValue - the new value of the property (as a double)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(StringpropertyName, boolean oldValue, boolean newValue)
firePropertyChange in class
JComponent
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value