- All Implemented Interfaces:
- ImageObserver,- MenuContainer,- Serializable,- Accessible,- SwingConstants,- 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.
- 
Nested Class SummaryNested classes/interfaces declared in class javax.swing.JLabelJLabel.AccessibleJLabelNested classes/interfaces declared in class javax.swing.JComponentJComponent.AccessibleJComponentNested classes/interfaces declared in class java.awt.ContainerContainer.AccessibleAWTContainerNested classes/interfaces declared in class java.awt.ComponentComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected ColorColor to use for the background when the node isn't selected.protected ColorColor to use for the background when a node is selected.protected ColorColor to use for the focus indicator when the node has focus.protected IconIcon used to show non-leaf nodes that aren't expanded.protected booleanTrue if has focus.protected IconIcon used to show leaf nodes.protected IconIcon used to show non-leaf nodes that are expanded.protected booleanIs the value currently selected.protected ColorColor to use for the foreground for non-selected nodes.protected ColorColor to use for the foreground for selected nodes.Fields declared in class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields declared in class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields declared in interface javax.swing.SwingConstantsBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidfirePropertyChange(String propertyName, boolean oldValue, boolean newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, byte oldValue, byte newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, char oldValue, char newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, double oldValue, double newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, float oldValue, float newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, int oldValue, int newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, long oldValue, long newValue) Overridden for performance reasons.voidfirePropertyChange(String propertyName, short oldValue, short newValue) Overridden for performance reasons.protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue) Overridden for performance reasons.Returns the background color to be used for non selected nodes.Returns the color to use for the background if node is selected.Returns the color the border is drawn.Returns the icon used to represent non-leaf nodes that are not expanded.Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are not expanded.Returns the default icon, for the current laf, that is used to represent leaf nodes.Returns the default icon, for the current laf, that is used to represent non-leaf nodes that are expanded.getFont()Gets the font of this component.Returns the icon used to represent leaf nodes.Returns the icon used to represent non-leaf nodes that are expanded.OverridesJComponent.getPreferredSizeto return slightly wider preferred size value.Returns the color the text is drawn with when the node isn't selected.Returns the color the text is drawn with when the node is selected.getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) Configures the renderer based on the passed in components.voidOverridden for performance reasons.voidPaints the value.voidrepaint()Overridden for performance reasons.voidrepaint(long tm, int x, int y, int width, int height) Overridden for performance reasons.voidOverridden for performance reasons.voidOverridden for performance reasons.voidsetBackground(Color color) Subclassed to mapColorUIResources to null.voidsetBackgroundNonSelectionColor(Color newColor) Sets the background color to be used for non selected nodes.voidsetBackgroundSelectionColor(Color newColor) Sets the color to use for the background if node is selected.voidsetBorderSelectionColor(Color newColor) Sets the color to use for the border.voidsetClosedIcon(Icon newIcon) Sets the icon used to represent non-leaf nodes that are not expanded.voidSubclassed to mapFontUIResources to null.voidsetLeafIcon(Icon newIcon) Sets the icon used to represent leaf nodes.voidsetOpenIcon(Icon newIcon) Sets the icon used to represent non-leaf nodes that are expanded.voidsetTextNonSelectionColor(Color newColor) Sets the color the text is drawn with when the node isn't selected.voidsetTextSelectionColor(Color newColor) Sets the color the text is drawn with when the node is selected.voidupdateUI()Resets the UI property to a value from the current look and feel.voidvalidate()Overridden for performance reasons.Methods declared in class javax.swing.JLabelcheckHorizontalKey, 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, setVerticalTextPositionMethods declared in class javax.swing.JComponentaddAncestorListener, 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, updateMethods declared in class java.awt.Containeradd, 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, validateTreeMethods declared in class java.awt.Componentaction, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
- 
Field Details- 
selectedprotected boolean selectedIs the value currently selected.
- 
hasFocusprotected boolean hasFocusTrue if has focus.
- 
closedIconIcon used to show non-leaf nodes that aren't expanded.
- 
leafIconIcon used to show leaf nodes.
- 
openIconIcon used to show non-leaf nodes that are expanded.
- 
textSelectionColorColor to use for the foreground for selected nodes.
- 
textNonSelectionColorColor to use for the foreground for non-selected nodes.
- 
backgroundSelectionColorColor to use for the background when a node is selected.
- 
backgroundNonSelectionColorColor to use for the background when the node isn't selected.
- 
borderSelectionColorColor to use for the focus indicator when the node has focus.
 
- 
- 
Constructor Details- 
DefaultTreeCellRendererpublic DefaultTreeCellRenderer()Creates aDefaultTreeCellRenderer. Icons and text color are determined from theUIManager.
 
- 
- 
Method Details- 
updateUIpublic void updateUI()Resets the UI property to a value from the current look and feel.
- 
getDefaultOpenIconReturns the default icon, for the current laf, that is used to represent non-leaf nodes that are expanded.- Returns:
- the default icon, for the current laf, that is used to represent non-leaf nodes that are expanded.
 
- 
getDefaultClosedIconReturns the default icon, for the current laf, that is used to represent non-leaf nodes that are not expanded.- Returns:
- the default icon, for the current laf, that is used to represent non-leaf nodes that are not expanded.
 
- 
getDefaultLeafIconReturns the default icon, for the current laf, that is used to represent leaf nodes.- Returns:
- the default icon, for the current laf, that is used to represent leaf nodes.
 
- 
setOpenIconSets the icon used to represent non-leaf nodes that are expanded.- Parameters:
- newIcon- the icon to be used for expanded non-leaf nodes
 
- 
getOpenIconReturns the icon used to represent non-leaf nodes that are expanded.- Returns:
- the icon used to represent non-leaf nodes that are expanded
 
- 
setClosedIconSets the icon used to represent non-leaf nodes that are not expanded.- Parameters:
- newIcon- the icon to be used for not expanded non-leaf nodes
 
- 
getClosedIconReturns the icon used to represent non-leaf nodes that are not expanded.- Returns:
- the icon used to represent non-leaf nodes that are not expanded
 
- 
setLeafIconSets the icon used to represent leaf nodes.- Parameters:
- newIcon- icon to be used for leaf nodes
 
- 
getLeafIconReturns the icon used to represent leaf nodes.- Returns:
- the icon used to represent leaf nodes
 
- 
setTextSelectionColorSets the color the text is drawn with when the node is selected.- Parameters:
- newColor- color to be used for text when the node is selected
 
- 
getTextSelectionColorReturns the color the text is drawn with when the node is selected.- Returns:
- the color the text is drawn with when the node is selected
 
- 
setTextNonSelectionColorSets the color the text is drawn with when the node isn't selected.- Parameters:
- newColor- color to be used for text when the node isn't selected
 
- 
getTextNonSelectionColorReturns the color the text is drawn with when the node isn't selected.- Returns:
- the color the text is drawn with when the node isn't selected.
 
- 
setBackgroundSelectionColorSets the color to use for the background if node is selected.- Parameters:
- newColor- to be used for the background if the node is selected
 
- 
getBackgroundSelectionColorReturns the color to use for the background if node is selected.- Returns:
- the color to use for the background if node is selected
 
- 
setBackgroundNonSelectionColorSets the background color to be used for non selected nodes.- Parameters:
- newColor- color to be used for the background for non selected nodes
 
- 
getBackgroundNonSelectionColorReturns the background color to be used for non selected nodes.- Returns:
- the background color to be used for non selected nodes.
 
- 
setBorderSelectionColorSets the color to use for the border.- Parameters:
- newColor- color to be used for the border
 
- 
getBorderSelectionColorReturns the color the border is drawn.- Returns:
- the color the border is drawn
 
- 
setFontSubclassed to mapFontUIResources to null. Iffontis null, or aFontUIResource, this has the effect of letting the font of the JTree show through. On the other hand, iffontis non-null, and not aFontUIResource, the font becomesfont.- Overrides:
- setFontin class- JComponent
- Parameters:
- font- the desired- Fontfor this component
- See Also:
 
- 
getFontGets the font of this component.- Specified by:
- getFontin interface- MenuContainer
- Overrides:
- getFontin class- Component
- Returns:
- this component's font; if a font has not been set for this component, the font of its parent is returned
- See Also:
 
- 
setBackgroundSubclassed to mapColorUIResources to null. Ifcoloris null, or aColorUIResource, this has the effect of letting the background color of the JTree show through. On the other hand, ifcoloris non-null, and not aColorUIResource, the background becomescolor.- Overrides:
- setBackgroundin class- JComponent
- Parameters:
- color- the desired background- Color
- See Also:
 
- 
getTreeCellRendererComponentpublic Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) Configures the renderer based on the passed in components. The value is set from messaging the tree withconvertValueToText, which ultimately invokestoStringonvalue. The foreground color is set based on the selection and the icon is set based on theleafandexpandedparameters.- Specified by:
- getTreeCellRendererComponentin interface- TreeCellRenderer
- Parameters:
- tree- the receiver is being configured for
- value- the value to render
- sel- whether node is selected
- expanded- whether node is expanded
- leaf- whether node is a lead node
- row- row index
- hasFocus- whether node has focus
- Returns:
- the Componentthat the renderer uses to draw the value
 
- 
paintPaints the value. The background is filled based on selected.- Overrides:
- paintin class- JComponent
- Parameters:
- g- the- Graphicscontext in which to paint
- See Also:
 
- 
getPreferredSizeOverridesJComponent.getPreferredSizeto return slightly wider preferred size value.- Overrides:
- getPreferredSizein class- JComponent
- Returns:
- the value of the preferredSizeproperty
- See Also:
 
- 
validatepublic void validate()Overridden for performance reasons. See the Implementation Note for more information.
- 
invalidatepublic void invalidate()Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
- invalidatein class- Container
- Since:
- 1.5
- See Also:
 
- 
revalidatepublic void revalidate()Overridden for performance reasons. See the Implementation Note for more information.
- 
repaintpublic void repaint(long tm, int x, int y, int width, int height) Overridden for performance reasons. See the Implementation Note for more information.- Overrides:
- repaintin class- JComponent
- Parameters:
- 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
- See Also:
 
- 
repaintOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- repaintin class- JComponent
- Parameters:
- r- a- Rectanglecontaining the dirty region
- See Also:
 
- 
repaintpublic void repaint()Overridden for performance reasons. See the Implementation Note for more information.
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- propertyName- the property whose value has changed
- oldValue- the property's previous value
- newValue- the property's new value
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- 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)
- See Also:
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- 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)
- See Also:
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- propertyName- the programmatic name of the property that was changed
- oldValue- the old value of the property (as a short)
- newValue- the new value of the property (as a short)
- See Also:
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- JComponent
- Parameters:
- propertyName- the property whose value has changed
- oldValue- the property's previous value
- newValue- the property's new value
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- 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)
- See Also:
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- 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)
- See Also:
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- Component
- Parameters:
- 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)
- See Also:
 
- 
firePropertyChangeOverridden for performance reasons. See the Implementation Note for more information.- Overrides:
- firePropertyChangein class- JComponent
- Parameters:
- propertyName- the property whose value has changed
- oldValue- the property's previous value
- newValue- the property's new value
 
 
-