org.jdesktop.swingx.sort
Class TableSortController<M extends javax.swing.table.TableModel>
java.lang.Object
javax.swing.RowSorter<M>
javax.swing.DefaultRowSorter<M,java.lang.Integer>
org.jdesktop.swingx.sort.DefaultSortController<M>
org.jdesktop.swingx.sort.TableSortController<M>
- All Implemented Interfaces:
- SortController<M>
public class TableSortController<M extends javax.swing.table.TableModel>
- extends DefaultSortController<M>
A SortController to use for a JXTable.
PENDING JW: should move up to DefaultRowSorter for re-use in ListRowSorter, but as long
as we don't have the latter ...
- Author:
- Jeanette Winzenburg
Nested classes/interfaces inherited from class javax.swing.DefaultRowSorter |
javax.swing.DefaultRowSorter.ModelWrapper<M,I> |
Nested classes/interfaces inherited from class javax.swing.RowSorter |
javax.swing.RowSorter.SortKey |
Method Summary |
java.util.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)
|
Methods inherited from class org.jdesktop.swingx.sort.DefaultSortController |
allRowsChanged, convertRowIndexToModel, convertRowIndexToView, getDefaultSortOrderCycle, getModelRowCount, getSortOrder, getSortOrderCycle, getStringValueProvider, getViewRowCount, isSortable, isSortable, modelStructureChanged, resetSortOrders, rowsDeleted, rowsInserted, setSortable, setSortable, setSortOrder, setSortOrderCycle, setStringValueProvider, toggleSortOrder |
Methods inherited from class javax.swing.DefaultRowSorter |
getMaxSortKeys, getModel, getModelWrapper, getRowFilter, getSortKeys, getSortsOnUpdates, rowsUpdated, rowsUpdated, setComparator, setMaxSortKeys, setModelWrapper, setRowFilter, setSortKeys, setSortsOnUpdates, sort |
Methods inherited from class javax.swing.RowSorter |
addRowSorterListener, fireRowSorterChanged, fireSortOrderChanged, removeRowSorterListener |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TableSortController
public TableSortController()
TableSortController
public TableSortController(M model)
- Parameters:
model
-
setModel
public void setModel(M model)
- Sets the
TableModel
to use as the underlying model
for this TableRowSorter
. A value of null
can be used to set an empty model.
- Parameters:
model
- the underlying model to use, or null
getComparator
public java.util.Comparator<?> getComparator(int column)
- Returns the
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!
- Specified by:
getComparator
in interface SortController<M extends javax.swing.table.TableModel>
- Overrides:
getComparator
in class javax.swing.DefaultRowSorter<M extends javax.swing.table.TableModel,java.lang.Integer>
- Parameters:
column
- the column to fetch the Comparator
for, in
terms of the underlying model
- Returns:
- the
Comparator
for the specified column
- Throws:
java.lang.IndexOutOfBoundsException
- if column is outside
the range of the underlying model
useToString
protected 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!
- Overrides:
useToString
in class javax.swing.DefaultRowSorter<M extends javax.swing.table.TableModel,java.lang.Integer>
- Throws:
java.lang.IndexOutOfBoundsException
Copyright © 2011. All Rights Reserved.