# Class TableSorter

java.lang.Object
javax.swing.table.AbstractTableModel
org.openscience.jmol.app.janocchio.TableSorter

All Implemented Interfaces:
  `Serializable, TableModel`

public class TableSorter extends AbstractTableModel

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ASCENDING`
`static final Comparator`
`COMPARABLE_COMAPRATOR`
`static final int`
`DESCENDING`
`static final Comparator`
`LEXICAL_COMPARATOR`
`static final int`
`NOT_SORTED`
`protected TableModel`
`tableModel`

### Fields inherited from class AbstractTableModel

`listenerList`

## Constructor Summary

Constructors
Constructor
Description
`TableSorter()`
`TableSorter(TableModel tableModel)`
`TableSorter(TableModel tableModel, JTableHeader tableHeader)`

## Method Summary

Modifier and Type
Method
Description
`Class`
`getColumnClass(int column)`
`int`
`getColumnCount()`
`String`
`getColumnName(int column)`
`protected Comparator`
`getComparator(int column)`
`protected Icon`
`getHeaderRendererIcon(int column, int size)`
`int`
`getRowCount()`
`int`
`getSortingStatus(int column)`
`JTableHeader`
`getTableHeader()`
`TableModel`
`getTableModel()`
`Object`
`getValueAt(int row, int column)`
`boolean`
`isCellEditable(int row, int column)`
`boolean`
`isSorting()`
`int`
`modelIndex(int viewIndex)`
`void`
`setColumnComparator(Class type, Comparator comparator)`
`void`
`setSortingStatus(int column, int status)`
`void`
`setTableHeader(JTableHeader tableHeader)`
`void`
`setTableModel(TableModel tableModel)`
`void`
`setValueAt(Object aValue, int row, int column)`

### Methods inherited from class AbstractTableModel

`addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### tableModel

protected TableModel tableModel

### DESCENDING

public static final int DESCENDING

See Also:
  - Constant Field Values

### NOT_SORTED

public static final int NOT_SORTED

See Also:
  - Constant Field Values

### ASCENDING

public static final int ASCENDING

See Also:
  - Constant Field Values

### COMPARABLE_COMAPRATOR

public static final Comparator COMPARABLE_COMAPRATOR

### LEXICAL_COMPARATOR

public static final Comparator LEXICAL_COMPARATOR

## Constructor Details

### TableSorter

public TableSorter()

### TableSorter

public TableSorter(TableModel tableModel)

### TableSorter

public TableSorter(TableModel tableModel, JTableHeader tableHeader)

## Method Details

### getTableModel

public TableModel getTableModel()

### setTableModel

public void setTableModel(TableModel tableModel)

### getTableHeader

public JTableHeader getTableHeader()

### setTableHeader

public void setTableHeader(JTableHeader tableHeader)

### isSorting

public boolean isSorting()

### getSortingStatus

public int getSortingStatus(int column)

### setSortingStatus

public void setSortingStatus(int column, int status)

### getHeaderRendererIcon

protected Icon getHeaderRendererIcon(int column, int size)

### setColumnComparator

public void setColumnComparator(Class type, Comparator comparator)

### getComparator

protected Comparator getComparator(int column)

### modelIndex

public int modelIndex(int viewIndex)

### getRowCount

public int getRowCount()

### getColumnCount

public int getColumnCount()

### getColumnName

public String getColumnName(int column)

Specified by:
  `getColumnName` in interface `TableModel`
Overrides:
  `getColumnName` in class `AbstractTableModel`

### getColumnClass

public Class getColumnClass(int column)

Specified by:
  `getColumnClass` in interface `TableModel`
Overrides:
  `getColumnClass` in class `AbstractTableModel`

### isCellEditable

public boolean isCellEditable(int row, int column)

Specified by:
  `isCellEditable` in interface `TableModel`
Overrides:
  `isCellEditable` in class `AbstractTableModel`

### getValueAt

public Object getValueAt(int row, int column)

### setValueAt

public void setValueAt(Object aValue, int row, int column)

Specified by:
  `setValueAt` in interface `TableModel`
Overrides:
  `setValueAt` in class `AbstractTableModel`