org.vizzini.ui
Class SortTable

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTable
                  extended by org.vizzini.ui.SortTable
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, CellEditorListener, ListSelectionListener, TableColumnModelListener, TableModelListener, Scrollable
Direct Known Subclasses:
DescribedTable

public class SortTable
extends JTable

Provides a JTable which has a table sorter installed between it and it's table model. A mouse listener is added to the header, which causes a sort to occur. A special header renderer is used to indicate the sort direction.

Since:
v0.2
Version:
v0.2
Author:
Jeffrey M. Thompson
See Also:
Serialized Form

Nested Class Summary
 class SortTable.TableHeaderRenderer
          This class is a renderer for the header of the sort table.
 
Nested classes/interfaces inherited from class javax.swing.JTable
JTable.AccessibleJTable, JTable.PrintMode
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeader
 
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
SortTable()
          Construct this object.
SortTable(TableModel tableModel)
          Construct this object.
 
Method Summary
 void applyHeaderTextStyle(TextStyle textStyle)
          Apply the given text style to this table's header.
 void applyTableStyle(TableStyle tableStyle)
          Apply the given table style to this table.
 void applyTextStyle(TextStyle textStyle)
          Apply the given text style to this table.
 TextStyle deriveHeaderTextStyle()
          Derive a text style from this table's header's current settings.
 TableStyle deriveTableStyle()
          Derive a table style from this table's current settings.
 TextStyle deriveTextStyle()
          Derive a text style from this table's current settings.
 Color getAlternateRowColor()
           
 TableModel getDataModel()
          Return the actual data model.
 Color getHeaderBackground()
          Return the header background color.
 Font getHeaderFont()
          Return the header font.
 Color getHeaderForeground()
          Return the header foreground color.
 int getSelectedRow()
          Return the first of the selected rows, translated through the sort.
 int[] getSelectedRows()
          Return the selected rows, translated through the sort.
 boolean isAlternatingRowColors()
           
 Component prepareRenderer(TableCellRenderer renderer, int rowIndex, int vColIndex)
          Extends the super method to alternate the row colors.
 void setAlternateRowColor(Color alternateRowColor)
           
 void setAlternatingRowColors(boolean isAlternatingRowColors)
           
 void setFont(Font font)
          Set the table font.
 void setHeaderBackground(Color color)
          Set the header background color.
 void setHeaderFont(Font font)
          Set the header font.
 void setHeaderForeground(Color color)
          Set the header foreground color.
 void setSelectedRows(int[] rows)
          Set the selected rows, translated through the sort.
 void sort()
          Sort the table.
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getEditingColumn, getEditingRow, getEditorComponent, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRowCount, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getToolTipText, getUI, getUIClassID, getValueAt, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, print, print, print, print, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setEditingColumn, setEditingRow, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setValueAt, sizeColumnsToFit, sizeColumnsToFit, tableChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, 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, 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, transferFocusBackward, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SortTable

public SortTable()
Construct this object.

Since:
v0.2

SortTable

public SortTable(TableModel tableModel)
Construct this object.

Since:
v0.2
Method Detail

applyHeaderTextStyle

public void applyHeaderTextStyle(TextStyle textStyle)
Apply the given text style to this table's header.

Parameters:
textStyle -
Since:
v0.2

applyTableStyle

public void applyTableStyle(TableStyle tableStyle)
Apply the given table style to this table.

Parameters:
tableStyle -
Since:
v0.2

applyTextStyle

public void applyTextStyle(TextStyle textStyle)
Apply the given text style to this table.

Parameters:
textStyle -
Since:
v0.2

deriveHeaderTextStyle

public TextStyle deriveHeaderTextStyle()
Derive a text style from this table's header's current settings.

Since:
v0.2

deriveTableStyle

public TableStyle deriveTableStyle()
Derive a table style from this table's current settings.

Since:
v0.2

deriveTextStyle

public TextStyle deriveTextStyle()
Derive a text style from this table's current settings.

Since:
v0.2

getAlternateRowColor

public Color getAlternateRowColor()
Returns:
Return alternateRowColor.
Since:
v0.2

getDataModel

public TableModel getDataModel()
Return the actual data model.

Since:
v0.2

getHeaderBackground

public Color getHeaderBackground()
Return the header background color.

Since:
v0.2

getHeaderFont

public Font getHeaderFont()
Return the header font.

Since:
v0.2

getHeaderForeground

public Color getHeaderForeground()
Return the header foreground color.

Since:
v0.2

getSelectedRow

public int getSelectedRow()
Return the first of the selected rows, translated through the sort.

Overrides:
getSelectedRow in class JTable
Since:
v0.2

getSelectedRows

public int[] getSelectedRows()
Return the selected rows, translated through the sort.

Overrides:
getSelectedRows in class JTable
Since:
v0.2

isAlternatingRowColors

public boolean isAlternatingRowColors()
Returns:
Return isAlternatingRowColors.
Since:
v0.2

prepareRenderer

public Component prepareRenderer(TableCellRenderer renderer,
                                 int rowIndex,
                                 int vColIndex)
Extends the super method to alternate the row colors.

Overrides:
prepareRenderer in class JTable
Since:
v0.2

setAlternateRowColor

public void setAlternateRowColor(Color alternateRowColor)
Parameters:
alternateRowColor - The alternateRowColor to set.
Since:
v0.2

setAlternatingRowColors

public void setAlternatingRowColors(boolean isAlternatingRowColors)
Parameters:
isAlternatingRowColors - The isAlternatingRowColors to set.
Since:
v0.2

setFont

public void setFont(Font font)
Set the table font. Extends the super method to adjust the row height for the new font.

Overrides:
setFont in class JComponent
Since:
v0.2

setHeaderBackground

public void setHeaderBackground(Color color)
Set the header background color.

Since:
v0.2

setHeaderFont

public void setHeaderFont(Font font)
Set the header font.

Since:
v0.2

setHeaderForeground

public void setHeaderForeground(Color color)
Set the header foreground color.

Since:
v0.2

setSelectedRows

public void setSelectedRows(int[] rows)
Set the selected rows, translated through the sort.

Since:
v0.2

sort

public void sort()
Sort the table.

Since:
v0.2


Copyright 2007 Vizzini.org. All Rights Reserved. 2007.12.25.03.00.02