Class TableSortController<M extends TableModel>

All Implemented Interfaces:
SortController<M>

public class TableSortController<M extends TableModel> extends DefaultSortController<M>
A SortController to use for a JXTable.

  • Field Details

    • tableModel

      private M extends TableModel tableModel
      Underlying model.
  • Constructor Details

    • TableSortController

      public TableSortController()
    • TableSortController

      public TableSortController(M model)
      Parameters:
      model -
  • Method Details

    • 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 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 TableModel>
      Overrides:
      getComparator in class DefaultRowSorter<M extends TableModel,Integer>
      Parameters:
      column - the column to fetch the Comparator for, in terms of the underlying model
      Returns:
      the Comparator for the specified column
      Throws:
      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 DefaultRowSorter<M extends TableModel,Integer>