org.jvnet.substance
Class SubstanceTableHeaderUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by javax.swing.plaf.TableHeaderUI
          extended by javax.swing.plaf.basic.BasicTableHeaderUI
              extended by org.jvnet.substance.SubstanceTableHeaderUI

public class SubstanceTableHeaderUI
extends javax.swing.plaf.basic.BasicTableHeaderUI

UI for table headers in Substance look and feel.

Author:
Kirill Grouchnikov

Nested Class Summary
protected  class SubstanceTableHeaderUI.ColumnHeaderRepaintCallback
          Repaints a single column header during the fade animation cycle.
protected static class SubstanceTableHeaderUI.ScrollPaneCornerFiller
          Corner filler for tables wrapped in scroll panes.
 
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTableHeaderUI
javax.swing.plaf.basic.BasicTableHeaderUI.MouseInputHandler
 
Field Summary
protected  javax.swing.table.TableCellRenderer defaultHeaderRenderer
          The default renderer.
protected  java.util.Map<java.lang.Integer,java.lang.Object> selectedIndices
          Holds the list of currently selected indices.
protected  javax.swing.event.ListSelectionListener substanceFadeSelectionListener
          Listener for fade animations on list selections.
protected  org.jvnet.substance.SubstanceTableHeaderUI.TableHeaderListener substanceHeaderListener
          Repaints the header on column selection.
protected  java.beans.PropertyChangeListener substancePropertyChangeListener
          Property change listener.
 
Fields inherited from class javax.swing.plaf.basic.BasicTableHeaderUI
header, mouseInputListener, rendererPane
 
Constructor Summary
SubstanceTableHeaderUI()
          Creates a new UI delegate.
 
Method Summary
static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent comp)
           
 org.jvnet.lafwidget.animation.FadeTrackerCallback getCallback(int columnIndex)
          Returns the animation callback for the specified column.
 ComponentState getColumnState(int columnIndex)
          Returns the current state for the specified cell.
protected static java.awt.Color getGridColor(javax.swing.table.JTableHeader header)
          Returns the grid color for the table header.
 ComponentState getPrevColumnState(int columnIndex)
          Returns the previous state for the specified column.
 javax.swing.JComponent getScrollPaneCornerFiller()
          Returns the scroll pane corner filler component.
protected  void installDefaults()
           
protected  void installListeners()
           
 void paint(java.awt.Graphics g, javax.swing.JComponent c)
           
protected  void paintGrid(java.awt.Graphics g, javax.swing.JComponent c)
           
 void processColumnModelChangeEvent(javax.swing.table.TableColumnModel oldModel, javax.swing.table.TableColumnModel newModel)
          Processes the events on model changes on the table column model.
protected  void uninstallDefaults()
           
protected  void uninstallListeners()
           
 void uninstallUI(javax.swing.JComponent c)
           
 void update(java.awt.Graphics g, javax.swing.JComponent c)
           
 
Methods inherited from class javax.swing.plaf.basic.BasicTableHeaderUI
createMouseInputListener, getBaseline, getMaximumSize, getMinimumSize, getPreferredSize, getRolloverColumn, installKeyboardActions, installUI, rolloverColumnUpdated, uninstallKeyboardActions
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaselineResizeBehavior
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

substanceHeaderListener

protected org.jvnet.substance.SubstanceTableHeaderUI.TableHeaderListener substanceHeaderListener
Repaints the header on column selection.


defaultHeaderRenderer

protected javax.swing.table.TableCellRenderer defaultHeaderRenderer
The default renderer.


selectedIndices

protected java.util.Map<java.lang.Integer,java.lang.Object> selectedIndices
Holds the list of currently selected indices.


substanceFadeSelectionListener

protected javax.swing.event.ListSelectionListener substanceFadeSelectionListener
Listener for fade animations on list selections.


substancePropertyChangeListener

protected java.beans.PropertyChangeListener substancePropertyChangeListener
Property change listener.

Constructor Detail

SubstanceTableHeaderUI

public SubstanceTableHeaderUI()
Creates a new UI delegate.

Method Detail

createUI

public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent comp)

installListeners

protected void installListeners()
Overrides:
installListeners in class javax.swing.plaf.basic.BasicTableHeaderUI

installDefaults

protected void installDefaults()
Overrides:
installDefaults in class javax.swing.plaf.basic.BasicTableHeaderUI

uninstallListeners

protected void uninstallListeners()
Overrides:
uninstallListeners in class javax.swing.plaf.basic.BasicTableHeaderUI

uninstallDefaults

protected void uninstallDefaults()
Overrides:
uninstallDefaults in class javax.swing.plaf.basic.BasicTableHeaderUI

paint

public void paint(java.awt.Graphics g,
                  javax.swing.JComponent c)
Overrides:
paint in class javax.swing.plaf.basic.BasicTableHeaderUI

paintGrid

protected void paintGrid(java.awt.Graphics g,
                         javax.swing.JComponent c)
Parameters:
g -
c -

getGridColor

protected static java.awt.Color getGridColor(javax.swing.table.JTableHeader header)
Returns the grid color for the table header.

Parameters:
header - Table header.
Returns:
Grid color.

update

public void update(java.awt.Graphics g,
                   javax.swing.JComponent c)
Overrides:
update in class javax.swing.plaf.ComponentUI

uninstallUI

public void uninstallUI(javax.swing.JComponent c)
Overrides:
uninstallUI in class javax.swing.plaf.basic.BasicTableHeaderUI

getPrevColumnState

public ComponentState getPrevColumnState(int columnIndex)
Returns the previous state for the specified column.

Parameters:
columnIndex - Column index.
Returns:
The previous state for the specified column.

getColumnState

public ComponentState getColumnState(int columnIndex)
Returns the current state for the specified cell.

Parameters:
columnIndex - Column index.
Returns:
The current state for the specified column.

getCallback

public org.jvnet.lafwidget.animation.FadeTrackerCallback getCallback(int columnIndex)
Returns the animation callback for the specified column.

Parameters:
columnIndex - Column index.
Returns:
Animation callback for the specified column.

getScrollPaneCornerFiller

public javax.swing.JComponent getScrollPaneCornerFiller()
Returns the scroll pane corner filler component. This method is used in SubstanceScrollPaneUI to put a consistent filler for tables.

Returns:
Scroll pane corner filler.

processColumnModelChangeEvent

public void processColumnModelChangeEvent(javax.swing.table.TableColumnModel oldModel,
                                          javax.swing.table.TableColumnModel newModel)
Processes the events on model changes on the table column model.

Parameters:
oldModel - Old column model.
newModel - New column model.