Package com.kheops.util
Class TableSorter
java.lang.Object
javax.swing.table.AbstractTableModel
com.kheops.util.TableSorter
- All Implemented Interfaces:
- Serializable,- TableModel
TableSorter is a decorator for TableModels; adding sorting functionality to a
 supplied TableModel. TableSorter does not store or copy the data in its
 TableModel; instead it maintains a map from the row indexes of the view to
 the row indexes of the model. As requests are made of the sorter (like
 getValueAt(row, col)) they are passed to the underlying model after the row
 numbers have been translated via the internal mapping array. This way, the
 TableSorter appears to hold another copy of the table with the rows in a
 different order.
 
 TableSorter registers itself as a listener to the underlying model, just as
 the JTable itself would. Events recieved from the model are examined,
 sometimes manipulated (typically widened), and then passed on to the
 TableSorter's listeners (typically the JTable). If a change to the model has
 invalidated the order of TableSorter's rows, a note of this is made and the
 sorter will resort the rows the next time a value is requested.
 
 When the tableHeader property is set, either by using the setTableHeader()
 method or the two argument constructor, the table header may be used as a
 complete UI for TableSorter. The default renderer of the tableHeader is
 decorated with a renderer that indicates the sorting status of each column.
 In addition, a mouse listener is installed with the following behavior:
 
- Mouse-click: Clears the sorting status of all other columns and advances the sorting status of that column through three values: {NOT_SORTED, ASCENDING, DESCENDING} (then back to NOT_SORTED again).
- SHIFT-mouse-click: Clears the sorting status of all other columns and cycles the sorting status of the column through the same three values, in the opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.
- CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except that the changes to the column do not cancel the statuses of columns that are already sorting - giving a way to initiate a compound sort.
- See Also:
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intprotected TableModelFields inherited from class javax.swing.table.AbstractTableModellistenerList
- 
Constructor SummaryConstructorsConstructorDescriptionTableSorter(TableModel tableModel) TableSorter(TableModel tableModel, JTableHeader tableHeader) 
- 
Method SummaryModifier and TypeMethodDescriptiongetColumnClass(int column) intgetColumnName(int column) protected ComparatorgetComparator(int column) protected IcongetHeaderRendererIcon(int column, int size) intintgetSortingStatus(int column) getValueAt(int row, int column) booleanisCellEditable(int row, int column) booleanintmodelIndex(int viewIndex) voidsetColumnComparator(Class type, Comparator comparator) voidsetSortingStatus(int column, int status) voidsetTableHeader(JTableHeader tableHeader) voidsetTableModel(TableModel tableModel) protected voidvoidsetUsingClassicArrow(boolean b) voidsetUsingCollators(boolean b) voidsetValueAt(Object aValue, int row, int column) booleanbooleanintviewIndex(int modelIndex) Methods inherited from class javax.swing.table.AbstractTableModeladdTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
- 
Field Details- 
tableModel
- 
DESCENDINGpublic static final int DESCENDING- See Also:
 
- 
NOT_SORTEDpublic static final int NOT_SORTED- See Also:
 
- 
ASCENDINGpublic static final int ASCENDING- See Also:
 
 
- 
- 
Constructor Details- 
TableSorterpublic TableSorter()
- 
TableSorter
- 
TableSorter
 
- 
- 
Method Details- 
setUsingClassicArrowpublic void setUsingClassicArrow(boolean b) 
- 
usingClassicArrowpublic boolean usingClassicArrow()
- 
setUsingCollatorspublic void setUsingCollators(boolean b) 
- 
usingCollatorspublic boolean usingCollators()
- 
setupCollatorsprotected void setupCollators()
- 
getTableModel
- 
setTableModel
- 
getTableHeader
- 
setTableHeader
- 
isSortingpublic boolean isSorting()
- 
getSortingStatuspublic int getSortingStatus(int column) 
- 
setSortingStatuspublic void setSortingStatus(int column, int status) 
- 
getHeaderRendererIcon
- 
setColumnComparator
- 
getComparator
- 
modelIndexpublic int modelIndex(int viewIndex) 
- 
viewIndexpublic int viewIndex(int modelIndex) 
- 
getRowCountpublic int getRowCount()
- 
getColumnCountpublic int getColumnCount()
- 
getColumnName- Specified by:
- getColumnNamein interface- TableModel
- Overrides:
- getColumnNamein class- AbstractTableModel
 
- 
getColumnClass- Specified by:
- getColumnClassin interface- TableModel
- Overrides:
- getColumnClassin class- AbstractTableModel
 
- 
isCellEditablepublic boolean isCellEditable(int row, int column) - Specified by:
- isCellEditablein interface- TableModel
- Overrides:
- isCellEditablein class- AbstractTableModel
 
- 
getValueAt
- 
setValueAt- Specified by:
- setValueAtin interface- TableModel
- Overrides:
- setValueAtin class- AbstractTableModel
 
 
-