Package org.pushingpixels.substance.api.renderers

# Class SubstanceDefaultTreeCellRenderer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
org.pushingpixels.substance.api.renderers.SubstanceDefaultTreeCellRenderer

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

public class SubstanceDefaultTreeCellRenderer extends JLabel implements TreeCellRenderer
Default renderer for tree cells.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class javax.swing.JLabel

`JLabel.AccessibleJLabel`

## Nested classes/interfaces inherited from class javax.swing.JComponent

`JComponent.AccessibleJComponent`

## Nested classes/interfaces inherited from class java.awt.Container

`Container.AccessibleAWTContainer`

## Nested classes/interfaces inherited from class java.awt.Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`hasFocus`
True if has focus.
`protected boolean`
`selected`
Is the value currently selected.

### Fields inherited from class javax.swing.JLabel

`labelFor`

### Fields inherited from class javax.swing.JComponent

`listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

### Fields inherited from class java.awt.Component

`accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

### Fields inherited from interface javax.swing.SwingConstants

`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

## Constructor Summary

Constructors
Constructor
Description
`SubstanceDefaultTreeCellRenderer()`
Returns a new instance of SubstanceDefaultTreeCellRenderer.

## Method Summary

Modifier and Type
Method
Description
`void`
`firePropertyChange(String propertyName, boolean oldValue, boolean newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, byte oldValue, byte newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, char oldValue, char newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, double oldValue, double newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, float oldValue, float newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, int oldValue, int newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, long oldValue, long newValue)`
Overridden for performance reasons.
`void`
`firePropertyChange(String propertyName, short oldValue, short newValue)`
Overridden for performance reasons.
`protected void`
`firePropertyChange(String propertyName, Object oldValue, Object newValue)`
Overridden for performance reasons.
`Icon`
`getDefaultClosedIcon()`
Returns the default icon that is used to represent non-leaf nodes that are not expanded.
`Icon`
`getDefaultLeafIcon()`
Returns the default icon that is used to represent leaf nodes.
`Icon`
`getDefaultOpenIcon()`
Returns the default icon that is used to represent non-leaf nodes that are expanded.
`Font`
`getFont()`
Gets the font of this component.
`Dimension`
`getPreferredSize()`
Overrides `JComponent.getPreferredSize` to return slightly wider preferred size value.
`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.
`void`
`invalidate()`
Overridden for performance reasons.
`final void`
`paint(Graphics g)`
`protected final void`
`paintComponent(Graphics g)`
`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 r)`
Overridden for performance reasons.
`void`
`revalidate()`
Overridden for performance reasons.
`void`
`setFont(Font font)`
Subclassed to map `FontUIResource`s to null.
`void`
`validate()`
Overridden for performance reasons.

### Methods inherited from class javax.swing.JLabel

`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, setVerticalTextPosition, updateUI`

### Methods inherited from class javax.swing.JComponent

`addAncestorListener, 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, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

### Methods inherited from class java.awt.Container

`add, 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, validateTree`

### Methods inherited from class java.awt.Component

`action, 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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### selected

protected boolean selected
Is the value currently selected.

### hasFocus

protected boolean hasFocus
True if has focus.

## Constructor Details

### SubstanceDefaultTreeCellRenderer

public SubstanceDefaultTreeCellRenderer()
Returns a new instance of SubstanceDefaultTreeCellRenderer. Alignment is set to left aligned. Icons and text color are determined from the UIManager.

## Method Details

### getDefaultOpenIcon

public Icon getDefaultOpenIcon()
Returns the default icon that is used to represent non-leaf nodes that are expanded.

Returns:
  The default icon for non-leaf expanded nodes.

### getDefaultClosedIcon

public Icon getDefaultClosedIcon()
Returns the default icon that is used to represent non-leaf nodes that are not expanded.

Returns:
  The default icon for non-leaf non-expanded nodes.

### getDefaultLeafIcon

public Icon getDefaultLeafIcon()
Returns the default icon that is used to represent leaf nodes.

Returns:
  The default icon for leaf nodes.

### setFont

public void setFont(Font font)
Subclassed to map `FontUIResource`s 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`.

Overrides:
  `setFont` in class `JComponent`

### getFont

public Font getFont()
Gets the font of this component.

Specified by:
  `getFont` in interface `MenuContainer`
Overrides:
  `getFont` in class `Component`
Returns:
  this component's font; if a font has not been set for this component, the font of its parent is returned

### getTreeCellRendererComponent

public 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 with `convertValueToText`, which ultimately invokes `toString` on `value`. The foreground color is set based on the selection and the icon is set based on on leaf and expanded.

Specified by:
  `getTreeCellRendererComponent` in interface `TreeCellRenderer`

### getPreferredSize

public Dimension getPreferredSize()
Overrides `JComponent.getPreferredSize` to return slightly wider preferred size value.

Overrides:
  `getPreferredSize` in class `JComponent`

### validate

public void validate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `validate` in class `Container`

### invalidate

public void invalidate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `invalidate` in class `Container`
Since:
  1.5

### revalidate

public void revalidate()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `revalidate` in class `JComponent`

### repaint

public void repaint(long tm, int x, int y, int width, int height)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `repaint` in class `JComponent`

### repaint

public void repaint(Rectangle r)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `repaint` in class `JComponent`

### repaint

public void repaint()
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `repaint` in class `Component`
Since:
  1.5

### firePropertyChange

protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `Component`

### firePropertyChange

public void firePropertyChange(String propertyName, byte oldValue, byte newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `Component`

### firePropertyChange

public void firePropertyChange(String propertyName, char oldValue, char newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `JComponent`

### firePropertyChange

public void firePropertyChange(String propertyName, short oldValue, short newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `Component`

### firePropertyChange

public void firePropertyChange(String propertyName, int oldValue, int newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `JComponent`

### firePropertyChange

public void firePropertyChange(String propertyName, long oldValue, long newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `Component`

### firePropertyChange

public void firePropertyChange(String propertyName, float oldValue, float newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `Component`

### firePropertyChange

public void firePropertyChange(String propertyName, double oldValue, double newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `Component`

### firePropertyChange

public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
Overridden for performance reasons. See the Implementation Note for more information.

Overrides:
  `firePropertyChange` in class `JComponent`

### paint

public final void paint(Graphics g)

Overrides:
  `paint` in class `JComponent`

### paintComponent

protected final void paintComponent(Graphics g)

Overrides:
  `paintComponent` in class `JComponent`