jimmc.swing
Class TableSorter

java.lang.Object
  |
  +--javax.swing.table.AbstractTableModel
        |
        +--jimmc.swing.TableMap
              |
              +--jimmc.swing.TableSorter
All Implemented Interfaces:
java.util.EventListener, java.io.Serializable, javax.swing.table.TableModel, javax.swing.event.TableModelListener

public class TableSorter
extends TableMap

See Also:
Serialized Form

Fields inherited from class jimmc.swing.TableMap
model
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
TableSorter()
           
TableSorter(javax.swing.table.TableModel model)
           
 
Method Summary
 void addMouseListenerToHeaderInTable(javax.swing.JTable table)
           
 void addRow()
          Add an empty row to the end of the table.
protected  void checkExtraRows()
           
 void checkModel()
           
 int compare(int row1, int row2)
           
 int compareRowsByColumn(int row1, int row2, int column)
           
protected  java.lang.Object getModelValueAt(int aRow, int aColumn)
           
 int getRowCount()
           
protected  int getSortedRowCount()
           
 java.lang.Object getValueAt(int aRow, int aColumn)
           
 void n2sort()
           
 void reallocateIndexes()
           
protected  void setExtraValueAt(java.lang.Object aValue, int aRow, int aColumn)
          Set a value which is not part of our underlying model.
 void setModel(javax.swing.table.TableModel model)
           
 void setValueAt(java.lang.Object aValue, int aRow, int aColumn)
           
 void shuttlesort(int[] from, int[] to, int low, int high)
           
 void sort(java.lang.Object sender)
           
 void sortByColumn(int column)
           
 void sortByColumn(int column, boolean ascending)
           
 void swap(int i, int j)
           
 void tableChanged(javax.swing.event.TableModelEvent e)
           
 
Methods inherited from class jimmc.swing.TableMap
getColumnClass, getColumnCount, getColumnName, getModel, isCellEditable
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TableSorter

public TableSorter()

TableSorter

public TableSorter(javax.swing.table.TableModel model)
Method Detail

setModel

public void setModel(javax.swing.table.TableModel model)
Overrides:
setModel in class TableMap

addRow

public void addRow()
Add an empty row to the end of the table.

compareRowsByColumn

public int compareRowsByColumn(int row1,
                               int row2,
                               int column)

compare

public int compare(int row1,
                   int row2)

reallocateIndexes

public void reallocateIndexes()

tableChanged

public void tableChanged(javax.swing.event.TableModelEvent e)
Overrides:
tableChanged in class TableMap

checkModel

public void checkModel()

checkExtraRows

protected void checkExtraRows()

sort

public void sort(java.lang.Object sender)

n2sort

public void n2sort()

shuttlesort

public void shuttlesort(int[] from,
                        int[] to,
                        int low,
                        int high)

swap

public void swap(int i,
                 int j)

getModelValueAt

protected java.lang.Object getModelValueAt(int aRow,
                                           int aColumn)

getValueAt

public java.lang.Object getValueAt(int aRow,
                                   int aColumn)
Overrides:
getValueAt in class TableMap

setValueAt

public void setValueAt(java.lang.Object aValue,
                       int aRow,
                       int aColumn)
Overrides:
setValueAt in class TableMap

setExtraValueAt

protected void setExtraValueAt(java.lang.Object aValue,
                               int aRow,
                               int aColumn)
Set a value which is not part of our underlying model. We make this a separate method, called from setValueAt, to allow overriding.

getRowCount

public int getRowCount()
Overrides:
getRowCount in class TableMap

getSortedRowCount

protected int getSortedRowCount()

sortByColumn

public void sortByColumn(int column)

sortByColumn

public void sortByColumn(int column,
                         boolean ascending)

addMouseListenerToHeaderInTable

public void addMouseListenerToHeaderInTable(javax.swing.JTable table)