com.dlsc.flexgantt.swing.treetable

## Class DefaultColumnHeaderRenderer

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JLabel
        - - com.dlsc.flexgantt.swing.treetable.DefaultColumnHeaderRenderer

- All Implemented Interfaces:
    IColumnHeaderRenderer, IRenderer, ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants
  Direct Known Subclasses:
    MacColumnHeaderRenderer

      public class DefaultColumnHeaderRenderer
      extends JLabel
      implements IColumnHeaderRenderer

  The default colum header renderer displays the column's name. The renderer looks up a header value via `TreeTableColumn.getHeaderValue()` and then invokes `Object.toString()` on it.
  Since:
    1.0
  Version:
    $Revision: 1.11 $
  Author:
    Dirk Lemmermann
  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 and Description
    --- | ---
    `protected Color` | `focusBackground` A background color used for visualizing that the colum header is the focus owner.
    `protected Color` | `focusForeground` A foreground color used for visualizing that the colum header is the focus owner.
    `protected boolean` | `multiColumnSort` A flag indicating whether the user is currently performing a sort based on multiple columns.
    `protected SortDirection` | `sortDirection` The direction in which the table column is sorted.
    `protected Font` | `sortOrderFont` The font used for drawing the sort numbers (when using multi-column) sort.
    `protected int` | `sortPosition` The sort position, which is relevant when doing a multi-column sort.

    - ### 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 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`

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

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultColumnHeaderRenderer()` Constructs a new header renderer.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `firePropertyChange(String propertyName, boolean oldValue, boolean newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, byte oldValue, byte newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, char oldValue, char newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, double oldValue, double newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, float oldValue, float newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, long oldValue, long newValue)` Overriden for performance reasons.
    `protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue)` Overriden for performance reasons.
    `void` | `firePropertyChange(String propertyName, short oldValue, short newValue)` Overriden for performance reasons.
    `Component` | `getColumnHeaderRendererComponent(TreeTableHeader header, TreeTableColumn column, boolean selected, boolean hasFocus, SortDirection sortDirection, int sortPosition)` Returns a component that gets used to render the header of a column in the tree table header component.
    `Color` | `getFocusBackground()` Returns the color used for the background of the column header when the header is the focus owner.
    `Color` | `getFocusForeground()` Returns the color used for the foreground of the column header when the header is the focus owner.
    `Dimension` | `getPreferredSize()`
    `void` | `invalidate()` Overriden for performance reasons.
    `boolean` | `isVisible()` Overriden in order to fix a bug in AWT, which causes the cursor to flicker during drag and drop operations.
    `protected void` | `paintComponent(Graphics g)`
    `void` | `repaint()` Overriden for performance reasons.
    `void` | `repaint(int x, int y, int width, int height)` Overriden for performance reasons.
    `void` | `repaint(long tm)` Overriden for performance reasons.
    `void` | `revalidate()` Overriden for performance reasons.
    `void` | `setFocusBackground(Color color)` Sets the color used for the background of the column header when the header is the focus owner.
    `void` | `setFocusForeground(Color color)` Sets the color used for the foreground of the column header when the header is the focus owner.
    `void` | `validate()` Overriden 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, firePropertyChange, 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, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, 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, getFont, 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, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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 Detail

    - #### focusForeground

          protected Color focusForeground

      A foreground color used for visualizing that the colum header is the focus owner.
      Since:
        1.0

    - #### focusBackground

          protected Color focusBackground

      A background color used for visualizing that the colum header is the focus owner.
      Since:
        1.0

    - #### sortDirection

          protected SortDirection sortDirection

      The direction in which the table column is sorted.
      Since:
        1.0

    - #### sortOrderFont

          protected Font sortOrderFont

      The font used for drawing the sort numbers (when using multi-column) sort.
      Since:
        1.0

    - #### sortPosition

          protected int sortPosition

      The sort position, which is relevant when doing a multi-column sort.
      Since:
        1.0

    - #### multiColumnSort

          protected boolean multiColumnSort

      A flag indicating whether the user is currently performing a sort based on multiple columns.
      Since:
        1.0

  - ### Constructor Detail

    - #### DefaultColumnHeaderRenderer

          public DefaultColumnHeaderRenderer()

      Constructs a new header renderer.
      Since:
        1.0

  - ### Method Detail

    - #### getColumnHeaderRendererComponent

          public Component getColumnHeaderRendererComponent(TreeTableHeader header,
                                                            TreeTableColumn column,
                                                            boolean selected,
                                                            boolean hasFocus,
                                                            SortDirection sortDirection,
                                                            int sortPosition)

      Description copied from interface: `IColumnHeaderRenderer`
      Returns a component that gets used to render the header of a column in the tree table header component.
      Specified by:
        `getColumnHeaderRendererComponent` in interface `IColumnHeaderRenderer`
      Parameters:
        `header` - the tree table header component in which the header will be rendered
        `column` - the column for which to draw a header
        `selected` - a flag indicating whether the column is currently selected
        `hasFocus` - a flag indicating whether the column currently has the focus
        `sortDirection` - indicates whether the column is sorted and in which direction
        `sortPosition` - the sort position (important when doing a multi-column sort)
      Returns:
        a component that will renderer the header of the given column

    - #### paintComponent

          protected void paintComponent(Graphics g)

      Overrides:
        `paintComponent` in class `JComponent`

    - #### getPreferredSize

          public Dimension getPreferredSize()

      Overrides:
        `getPreferredSize` in class `JComponent`

    - #### getFocusBackground

          public Color getFocusBackground()

      Returns the color used for the background of the column header when the header is the focus owner.
      Returns:
        the focus background color
      Since:
        1.0

    - #### setFocusBackground

          public void setFocusBackground(Color color)

      Sets the color used for the background of the column header when the header is the focus owner.
      Parameters:
        `color` - the focus background color
      Since:
        1.0

    - #### getFocusForeground

          public Color getFocusForeground()

      Returns the color used for the foreground of the column header when the header is the focus owner.
      Returns:
        the focus foreground color
      Since:
        1.0

    - #### setFocusForeground

          public void setFocusForeground(Color color)

      Sets the color used for the foreground of the column header when the header is the focus owner.
      Parameters:
        `color` - the focus foreground color
      Since:
        1.0

    - #### validate

          public void validate()

      Overriden for performance reasons.
      Overrides:
        `validate` in class `Container`
      Since:
        1.0

    - #### invalidate

          public void invalidate()

      Overriden for performance reasons.
      Overrides:
        `invalidate` in class `Container`
      Since:
        1.0

    - #### revalidate

          public void revalidate()

      Overriden for performance reasons.
      Overrides:
        `revalidate` in class `JComponent`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         boolean oldValue,
                                         boolean newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `JComponent`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         byte oldValue,
                                         byte newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         char oldValue,
                                         char newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `JComponent`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         double oldValue,
                                         double newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         float oldValue,
                                         float newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         long oldValue,
                                         long newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          protected void firePropertyChange(String propertyName,
                                            Object oldValue,
                                            Object newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### firePropertyChange

          public void firePropertyChange(String propertyName,
                                         short oldValue,
                                         short newValue)

      Overriden for performance reasons.
      Overrides:
        `firePropertyChange` in class `Component`
      Since:
        1.0

    - #### repaint

          public void repaint()

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.0

    - #### repaint

          public void repaint(int x,
                              int y,
                              int width,
                              int height)

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.0

    - #### repaint

          public void repaint(long tm)

      Overriden for performance reasons.
      Overrides:
        `repaint` in class `Component`
      Since:
        1.0

    - #### isVisible

          public boolean isVisible()

      Overriden in order to fix a bug in AWT, which causes the cursor to flicker during drag and drop operations.
      Overrides:
        `isVisible` in class `Component`
      Since:
        1.1

Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.