Package 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
-
-
Field Summary
-
Fields inherited from class org.jdesktop.swingx.sort.DefaultSortController
cachedModelRowCount, COMPARABLE_COMPARATOR
-
-
Constructor Summary
Constructors Constructor Description TableSortController()TableSortController(M model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Comparator<?>getComparator(int column)Returns theComparatorfor the specified column.voidsetModel(M model)Sets theTableModelto use as the underlying model for thisTableRowSorter.protected booleanuseToString(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
-
Methods inherited from interface org.jdesktop.swingx.sort.SortController
getRowFilter, getSortsOnUpdates, setComparator, setRowFilter, setSortsOnUpdates
-
-
-
-
Constructor Detail
-
TableSortController
public TableSortController()
-
TableSortController
public TableSortController(M model)
- Parameters:
model-
-
-
Method Detail
-
setModel
public void setModel(M model)
Sets theTableModelto use as the underlying model for thisTableRowSorter. A value ofnullcan be used to set an empty model.- Parameters:
model- the underlying model to use, ornull
-
getComparator
public java.util.Comparator<?> getComparator(int column)
Returns theComparatorfor the specified column. If aComparatorhas not been specified using thesetComparatormethod aComparatorwill be returned based on the column class (TableModel.getColumnClass) of the specified column. If the column class isString,Collator.getInstanceis returned. If the column class implementsComparablea privateComparatoris returned that invokes thecompareTomethod. OtherwiseCollator.getInstanceis returned.PENDING JW: think about implications to string value lookup!
- Specified by:
getComparatorin interfaceSortController<M extends javax.swing.table.TableModel>- Overrides:
getComparatorin classjavax.swing.DefaultRowSorter<M extends javax.swing.table.TableModel,java.lang.Integer>- Parameters:
column- the column to fetch theComparatorfor, in terms of the underlying model- Returns:
- the
Comparatorfor 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:
useToStringin classjavax.swing.DefaultRowSorter<M extends javax.swing.table.TableModel,java.lang.Integer>- Throws:
java.lang.IndexOutOfBoundsException
-
-