org.vizzini.ui.table
Class TableSorter
java.lang.Object
javax.swing.table.AbstractTableModel
org.vizzini.ui.table.TableMap
org.vizzini.ui.table.TableSorter
- All Implemented Interfaces:
- Serializable, EventListener, TableModelListener, TableModel
public class TableSorter
- extends TableMap
Provides a sorter for TableModels. The sorter has a model (conforming to
TableModel) and itself implements TableModel. TableSorter does not store or
copy the data in the TableModel, instead it maintains an array of integers
which it keeps the same size as the number of rows in its model. When the
model changes it notifies the sorter that something has changed eg.
"rowsAdded" so that its internal array of integers can be reallocated. As
requests are made of the sorter (like getValueAt(row, col) it redirects them
to its model via the mapping array. That way the TableSorter appears to hold
another copy of the table with the rows in a different order. The sorting
algorthm used is stable which means that it does not move around rows when
its comparison function returns 0 to denote that they are equivalent.
- Version:
- 1.5 12/17/97
- Author:
- Philip Milne
- See Also:
- Serialized Form
Method Summary |
void |
addMouseListenerToHeaderInTable(JTable table)
|
void |
checkModel()
|
int |
compare(int row1,
int row2)
|
int |
compareRowsByColumn(int row1,
int row2,
int column)
|
int |
getDesortedRowIndex(int aRow)
|
int |
getSortedRowIndex(int aRow)
|
Object |
getValueAt(int aRow,
int aColumn)
|
Boolean |
isColumnSortedAscending(JTable table,
int column)
Answer true if the given column is sorted in ascending order. |
void |
n2sort()
|
void |
reallocateIndexes()
Reset the index values. |
void |
setModel(TableModel model)
|
void |
setValueAt(Object aValue,
int aRow,
int aColumn)
|
void |
shuttlesort(int[] from,
int[] to,
int low,
int high)
|
void |
sort(Object sender)
|
void |
sortByColumn(int column)
|
void |
sortByColumn(int column,
boolean ascending)
|
void |
swap(int i,
int j)
|
void |
tableChanged(TableModelEvent e)
|
Methods inherited from class javax.swing.table.AbstractTableModel |
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ascending
boolean ascending
compares
int compares
indexes
int[] indexes
sortingColumns
Vector sortingColumns
TableSorter
public TableSorter()
TableSorter
public TableSorter(TableModel model)
addMouseListenerToHeaderInTable
public void addMouseListenerToHeaderInTable(JTable table)
checkModel
public void checkModel()
compare
public int compare(int row1,
int row2)
compareRowsByColumn
public int compareRowsByColumn(int row1,
int row2,
int column)
getDesortedRowIndex
public int getDesortedRowIndex(int aRow)
getSortedRowIndex
public int getSortedRowIndex(int aRow)
getValueAt
public Object getValueAt(int aRow,
int aColumn)
- Specified by:
getValueAt
in interface TableModel
- Overrides:
getValueAt
in class TableMap
isColumnSortedAscending
public Boolean isColumnSortedAscending(JTable table,
int column)
- Answer true if the given column is sorted in ascending order.
- Returns:
- Boolean.TRUE if the given column is sorted in ascending order
Boolean.FALSE if the given column is sorted in descending order,
null if the given column is not sorted.
- Since:
- v0.2
n2sort
public void n2sort()
reallocateIndexes
public void reallocateIndexes()
- Reset the index values.
- Since:
- v0.2
setModel
public void setModel(TableModel model)
- Overrides:
setModel
in class TableMap
setValueAt
public void setValueAt(Object aValue,
int aRow,
int aColumn)
- Specified by:
setValueAt
in interface TableModel
- Overrides:
setValueAt
in class TableMap
shuttlesort
public void shuttlesort(int[] from,
int[] to,
int low,
int high)
sort
public void sort(Object sender)
sortByColumn
public void sortByColumn(int column)
sortByColumn
public void sortByColumn(int column,
boolean ascending)
swap
public void swap(int i,
int j)
tableChanged
public void tableChanged(TableModelEvent e)
- Specified by:
tableChanged
in interface TableModelListener
- Overrides:
tableChanged
in class TableMap
Copyright © 2007 Vizzini.org. All Rights Reserved.
|
2007.12.25.03.00.02 |