org.jdesktop.swingx.table
Class ColumnHeaderRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.jdesktop.swingx.table.ColumnHeaderRenderer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.plaf.UIResource, javax.swing.table.TableCellRenderer

public class ColumnHeaderRenderer
extends javax.swing.JComponent
implements javax.swing.table.TableCellRenderer, javax.swing.plaf.UIResource

Header renderer class which renders column sort feedback (arrows).

Additionally, it allows to customize renderer properties like Font, Alignment and similar. This part needs to go somewhere else when we switch to Mustang.

Note: #169-jdnc, #193-swingx - Header doesn't look right in winXP/mac seem - to be fixed, but could be brittle. Won't do more about it, Mustang will take care once SwingLabs is switched over to 1.6.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
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
 
Field Summary
static java.lang.String DOWN_ICON_KEY
           
static java.lang.String METAL_BORDER_HACK
           
static java.lang.String UP_ICON_KEY
           
static java.lang.String VISTA_BORDER_HACK
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
 
Constructor Summary
ColumnHeaderRenderer()
           
ColumnHeaderRenderer(javax.swing.table.JTableHeader header)
           
 
Method Summary
protected  void adjustComponentOrientation(java.awt.Component stamp)
          Adjusts the Component's orientation to JXTable's CO if appropriate.
static ColumnHeaderRenderer createColumnHeaderRenderer()
           
 boolean getAntiAliasedText()
           
 javax.swing.table.TableCellRenderer getDelegateRenderer()
           
 javax.swing.Icon getDownIcon()
           
 int getHorizontalAlignment()
           
 int getHorizontalTextPosition()
           
 javax.swing.Icon getIcon()
           
 int getIconTextGap()
           
static javax.swing.table.TableCellRenderer getSharedInstance()
          Returns the shared ColumnHeaderRenderer.
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int rowIndex, int columnIndex)
           
 javax.swing.Icon getUpIcon()
           
 int getVerticalAlignment()
           
 int getVerticalTextPosition()
           
 void setAntiAliasedText(boolean antiAlias)
           
 void setBackground(java.awt.Color background)
           
 void setDownIcon(javax.swing.Icon icon)
           
 void setFont(java.awt.Font font)
           
 void setForeground(java.awt.Color foreground)
           
 void setHorizontalAlignment(int alignment)
           
 void setHorizontalTextPosition(int textPosition)
           
 void setIcon(javax.swing.Icon icon)
           
 void setIconTextGap(int iconTextGap)
           
 void setUpIcon(javax.swing.Icon icon)
           
 void setVerticalAlignment(int alignment)
           
 void setVerticalTextPosition(int textPosition)
           
 void updateUI()
           
 void updateUI(javax.swing.table.JTableHeader header)
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, invalidate, 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, validate, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, hide, imageUpdate, 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, repaint, 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

UP_ICON_KEY

public static final java.lang.String UP_ICON_KEY
See Also:
Constant Field Values

DOWN_ICON_KEY

public static final java.lang.String DOWN_ICON_KEY
See Also:
Constant Field Values

VISTA_BORDER_HACK

public static final java.lang.String VISTA_BORDER_HACK
See Also:
Constant Field Values

METAL_BORDER_HACK

public static final java.lang.String METAL_BORDER_HACK
See Also:
Constant Field Values
Constructor Detail

ColumnHeaderRenderer

public ColumnHeaderRenderer()

ColumnHeaderRenderer

public ColumnHeaderRenderer(javax.swing.table.JTableHeader header)
Method Detail

getSharedInstance

public static javax.swing.table.TableCellRenderer getSharedInstance()
Returns the shared ColumnHeaderRenderer.

Returns:
the shared header renderer.

createColumnHeaderRenderer

public static ColumnHeaderRenderer createColumnHeaderRenderer()
Returns:
a ColumnHeaderRenderer

getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object value,
                                                        boolean isSelected,
                                                        boolean hasFocus,
                                                        int rowIndex,
                                                        int columnIndex)
Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer

adjustComponentOrientation

protected void adjustComponentOrientation(java.awt.Component stamp)
Adjusts the Component's orientation to JXTable's CO if appropriate. Here: always.

Parameters:
stamp - the component to adjust.

setAntiAliasedText

public void setAntiAliasedText(boolean antiAlias)

getAntiAliasedText

public boolean getAntiAliasedText()

setBackground

public void setBackground(java.awt.Color background)
Overrides:
setBackground in class javax.swing.JComponent

setForeground

public void setForeground(java.awt.Color foreground)
Overrides:
setForeground in class javax.swing.JComponent

setFont

public void setFont(java.awt.Font font)
Overrides:
setFont in class javax.swing.JComponent

setDownIcon

public void setDownIcon(javax.swing.Icon icon)

getDownIcon

public javax.swing.Icon getDownIcon()

setUpIcon

public void setUpIcon(javax.swing.Icon icon)

getUpIcon

public javax.swing.Icon getUpIcon()

setHorizontalAlignment

public void setHorizontalAlignment(int alignment)

getHorizontalAlignment

public int getHorizontalAlignment()

setHorizontalTextPosition

public void setHorizontalTextPosition(int textPosition)

getHorizontalTextPosition

public int getHorizontalTextPosition()

setIcon

public void setIcon(javax.swing.Icon icon)

getIcon

public javax.swing.Icon getIcon()

setIconTextGap

public void setIconTextGap(int iconTextGap)

getIconTextGap

public int getIconTextGap()

setVerticalAlignment

public void setVerticalAlignment(int alignment)

getVerticalAlignment

public int getVerticalAlignment()

setVerticalTextPosition

public void setVerticalTextPosition(int textPosition)

getVerticalTextPosition

public int getVerticalTextPosition()

getDelegateRenderer

public javax.swing.table.TableCellRenderer getDelegateRenderer()
Returns:
the delegate renderer.

updateUI

public void updateUI()
Overrides:
updateUI in class javax.swing.JComponent

updateUI

public void updateUI(javax.swing.table.JTableHeader header)