public class TableSortController<M extends TableModel> extends DefaultSortController<M>
PENDING JW: should move up to DefaultRowSorter for re-use in ListRowSorter, but as long as we don't have the latter ...
DefaultRowSorter.ModelWrapper<M,I>
RowSorter.SortKey
COMPARABLE_COMPARATOR
Constructor and Description |
---|
TableSortController() |
TableSortController(M model) |
Modifier and Type | Method and Description |
---|---|
Comparator<?> |
getComparator(int column)
Returns the
Comparator for the specified
column. |
void |
setModel(M model)
Sets the
TableModel to use as the underlying model
for this TableRowSorter . |
protected boolean |
useToString(int column) |
getDefaultSortOrderCycle, getSortOrder, getSortOrderCycle, getStringValueProvider, isSortable, isSortable, resetSortOrders, setSortable, setSortable, setSortOrder, setSortOrderCycle, setStringValueProvider, toggleSortOrder
allRowsChanged, convertRowIndexToModel, convertRowIndexToView, getMaxSortKeys, getModel, getModelRowCount, getModelWrapper, getRowFilter, getSortKeys, getSortsOnUpdates, getViewRowCount, modelStructureChanged, rowsDeleted, rowsInserted, rowsUpdated, rowsUpdated, setComparator, setMaxSortKeys, setModelWrapper, setRowFilter, setSortKeys, setSortsOnUpdates, sort
addRowSorterListener, fireRowSorterChanged, fireSortOrderChanged, removeRowSorterListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRowFilter, getSortsOnUpdates, setComparator, setRowFilter, setSortsOnUpdates
public TableSortController()
public TableSortController(M model)
model
- public void setModel(M model)
TableModel
to use as the underlying model
for this TableRowSorter
. A value of null
can be used to set an empty model.model
- the underlying model to use, or null
public Comparator<?> getComparator(int column)
Comparator
for the specified
column. If a Comparator
has not been specified using
the setComparator
method a Comparator
will be returned based on the column class
(TableModel.getColumnClass
) of the specified column.
If the column class is String
,
Collator.getInstance
is returned. If the
column class implements Comparable
a private
Comparator
is returned that invokes the
compareTo
method. Otherwise
Collator.getInstance
is returned.PENDING JW: think about implications to string value lookup!
getComparator
in interface SortController<M extends TableModel>
getComparator
in class DefaultRowSorter<M extends TableModel,Integer>
column
- the column to fetch the Comparator
for, in
terms of the underlying modelComparator
for the specified columnIndexOutOfBoundsException
- if column is outside
the range of the underlying modelprotected boolean useToString(int column)
Note: must implement same logic as the overridden comparator lookup, otherwise will throw ClassCastException because here the comparator is never null.
PENDING JW: think about implications to string value lookup!
useToString
in class DefaultRowSorter<M extends TableModel,Integer>
IndexOutOfBoundsException
Copyright © 2013. All Rights Reserved.