Class SubstanceDefaultTreeCellRenderer

  • All Implemented Interfaces:
    javax.swing.tree.TreeCellRenderer, org.pushingpixels.substance.internal.utils.ThemedIconAwareRenderer


    public class SubstanceDefaultTreeCellRenderer
    extends javax.swing.JLabel
    implements javax.swing.tree.TreeCellRenderer, org.pushingpixels.substance.internal.utils.ThemedIconAwareRenderer
    Default renderer for tree cells. Note that this does not extend DefaultTreeCellRenderer as other default renderers since that class overrides Component.setBackground(Color) and prevents the pass-through of UIResource colors that Substance sets for odd-even row striping.
    See Also:
    Serialized Form
    • Nested Class Summary

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

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class javax.swing.JLabel

        javax.swing.JLabel.AccessibleJLabel
    • 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 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 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 javax.swing.JLabel

        labelFor
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void firePropertyChange​(java.lang.String propertyName, boolean oldValue, boolean newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, byte oldValue, byte newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, char oldValue, char newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, double oldValue, double newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, float oldValue, float newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, int oldValue, int newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, long oldValue, long newValue)
      Overridden for performance reasons.
      void firePropertyChange​(java.lang.String propertyName, short oldValue, short newValue)
      Overridden for performance reasons.
      protected void firePropertyChange​(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
      Overridden for performance reasons.
      java.awt.Font getFont​()
      Gets the font of this component.
      java.awt.Dimension getPreferredSize​()
      Overrides JComponent.getPreferredSize to return slightly wider preferred size value.
      float getRolloverArmAmount​()  
      java.awt.Component getTreeCellRendererComponent​(javax.swing.JTree tree, java.lang.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.
      void paint​(java.awt.Graphics g)  
      protected void paintComponent​(java.awt.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​(java.awt.Rectangle r)
      Overridden for performance reasons.
      void revalidate​()
      Overridden for performance reasons.
      void setFont​(java.awt.Font font)
      Subclassed to map FontUIResources to null.
      void validate​()
      Overridden for performance reasons.
      • 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.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 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 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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • selected

        protected boolean selected
        Is the value currently selected.
      • hasFocus

        protected boolean hasFocus
        True if has focus.
    • Constructor Detail

      • SubstanceDefaultTreeCellRenderer

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

      • setFont

        public void setFont​(java.awt.Font font)
        Subclassed to map 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.
        Overrides:
        setFont in class javax.swing.JComponent
      • getFont

        public java.awt.Font getFont​()
        Gets the font of this component.
        Overrides:
        getFont in class java.awt.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 java.awt.Component getTreeCellRendererComponent​(javax.swing.JTree tree,
                                                               java.lang.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 javax.swing.tree.TreeCellRenderer
      • getRolloverArmAmount

        public float getRolloverArmAmount​()
        Specified by:
        getRolloverArmAmount in interface org.pushingpixels.substance.internal.utils.ThemedIconAwareRenderer
      • getPreferredSize

        public java.awt.Dimension getPreferredSize​()
        Overrides JComponent.getPreferredSize to return slightly wider preferred size value.
        Overrides:
        getPreferredSize in class javax.swing.JComponent
      • validate

        public void validate​()
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        validate in class java.awt.Container
      • invalidate

        public void invalidate​()
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        invalidate in class java.awt.Container
      • revalidate

        public void revalidate​()
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        revalidate in class javax.swing.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 javax.swing.JComponent
      • repaint

        public void repaint​(java.awt.Rectangle r)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        repaint in class javax.swing.JComponent
      • repaint

        public void repaint​()
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        repaint in class java.awt.Component
      • firePropertyChange

        protected void firePropertyChange​(java.lang.String propertyName,
                                          java.lang.Object oldValue,
                                          java.lang.Object newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class java.awt.Component
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       byte oldValue,
                                       byte newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class java.awt.Component
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       char oldValue,
                                       char newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class javax.swing.JComponent
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       short oldValue,
                                       short newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class java.awt.Component
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       int oldValue,
                                       int newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class javax.swing.JComponent
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       long oldValue,
                                       long newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class java.awt.Component
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       float oldValue,
                                       float newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class java.awt.Component
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       double oldValue,
                                       double newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class java.awt.Component
      • firePropertyChange

        public void firePropertyChange​(java.lang.String propertyName,
                                       boolean oldValue,
                                       boolean newValue)
        Overridden for performance reasons. See the Implementation Note for more information.
        Overrides:
        firePropertyChange in class javax.swing.JComponent
      • paint

        public final void paint​(java.awt.Graphics g)
        Overrides:
        paint in class javax.swing.JComponent
      • paintComponent

        protected final void paintComponent​(java.awt.Graphics g)
        Overrides:
        paintComponent in class javax.swing.JComponent