Class TableSorter
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- org.openscience.jmol.app.janocchio.TableSorter
-
- All Implemented Interfaces:
java.io.Serializable
,javax.swing.table.TableModel
public class TableSorter extends javax.swing.table.AbstractTableModel
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TableSorter.Arrow
private static class
TableSorter.Directive
private class
TableSorter.MouseHandler
private class
TableSorter.Row
private class
TableSorter.SortableHeaderRenderer
private class
TableSorter.TableModelHandler
-
Field Summary
Fields Modifier and Type Field Description static int
ASCENDING
private java.util.Map
columnComparators
static java.util.Comparator
COMPARABLE_COMAPRATOR
static int
DESCENDING
private static TableSorter.Directive
EMPTY_DIRECTIVE
static java.util.Comparator
LEXICAL_COMPARATOR
private int[]
modelToView
private java.awt.event.MouseListener
mouseListener
static int
NOT_SORTED
private java.util.List
sortingColumns
private javax.swing.table.JTableHeader
tableHeader
protected javax.swing.table.TableModel
tableModel
private javax.swing.event.TableModelListener
tableModelListener
private TableSorter.Row[]
viewToModel
-
Constructor Summary
Constructors Constructor Description TableSorter()
TableSorter(javax.swing.table.TableModel tableModel)
TableSorter(javax.swing.table.TableModel tableModel, javax.swing.table.JTableHeader tableHeader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
cancelSorting()
private void
clearSortingState()
java.lang.Class
getColumnClass(int column)
int
getColumnCount()
java.lang.String
getColumnName(int column)
protected java.util.Comparator
getComparator(int column)
private TableSorter.Directive
getDirective(int column)
protected javax.swing.Icon
getHeaderRendererIcon(int column, int size)
private int[]
getModelToView()
int
getRowCount()
int
getSortingStatus(int column)
javax.swing.table.JTableHeader
getTableHeader()
javax.swing.table.TableModel
getTableModel()
java.lang.Object
getValueAt(int row, int column)
private TableSorter.Row[]
getViewToModel()
boolean
isCellEditable(int row, int column)
boolean
isSorting()
int
modelIndex(int viewIndex)
void
setColumnComparator(java.lang.Class type, java.util.Comparator comparator)
void
setSortingStatus(int column, int status)
void
setTableHeader(javax.swing.table.JTableHeader tableHeader)
void
setTableModel(javax.swing.table.TableModel tableModel)
void
setValueAt(java.lang.Object aValue, int row, int column)
private void
sortingStatusChanged()
-
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
-
-
-
-
Field Detail
-
tableModel
protected javax.swing.table.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
-
EMPTY_DIRECTIVE
private static TableSorter.Directive EMPTY_DIRECTIVE
-
COMPARABLE_COMAPRATOR
public static final java.util.Comparator COMPARABLE_COMAPRATOR
-
LEXICAL_COMPARATOR
public static final java.util.Comparator LEXICAL_COMPARATOR
-
viewToModel
private TableSorter.Row[] viewToModel
-
modelToView
private int[] modelToView
-
tableHeader
private javax.swing.table.JTableHeader tableHeader
-
mouseListener
private java.awt.event.MouseListener mouseListener
-
tableModelListener
private javax.swing.event.TableModelListener tableModelListener
-
columnComparators
private java.util.Map columnComparators
-
sortingColumns
private java.util.List sortingColumns
-
-
Method Detail
-
clearSortingState
private void clearSortingState()
-
getTableModel
public javax.swing.table.TableModel getTableModel()
-
setTableModel
public void setTableModel(javax.swing.table.TableModel tableModel)
-
getTableHeader
public javax.swing.table.JTableHeader getTableHeader()
-
setTableHeader
public void setTableHeader(javax.swing.table.JTableHeader tableHeader)
-
isSorting
public boolean isSorting()
-
getDirective
private TableSorter.Directive getDirective(int column)
-
getSortingStatus
public int getSortingStatus(int column)
-
sortingStatusChanged
private void sortingStatusChanged()
-
setSortingStatus
public void setSortingStatus(int column, int status)
-
getHeaderRendererIcon
protected javax.swing.Icon getHeaderRendererIcon(int column, int size)
-
cancelSorting
private void cancelSorting()
-
setColumnComparator
public void setColumnComparator(java.lang.Class type, java.util.Comparator comparator)
-
getComparator
protected java.util.Comparator getComparator(int column)
-
getViewToModel
private TableSorter.Row[] getViewToModel()
-
modelIndex
public int modelIndex(int viewIndex)
-
getModelToView
private int[] getModelToView()
-
getRowCount
public int getRowCount()
-
getColumnCount
public int getColumnCount()
-
getColumnName
public java.lang.String getColumnName(int column)
- Specified by:
getColumnName
in interfacejavax.swing.table.TableModel
- Overrides:
getColumnName
in classjavax.swing.table.AbstractTableModel
-
getColumnClass
public java.lang.Class getColumnClass(int column)
- Specified by:
getColumnClass
in interfacejavax.swing.table.TableModel
- Overrides:
getColumnClass
in classjavax.swing.table.AbstractTableModel
-
isCellEditable
public boolean isCellEditable(int row, int column)
- Specified by:
isCellEditable
in interfacejavax.swing.table.TableModel
- Overrides:
isCellEditable
in classjavax.swing.table.AbstractTableModel
-
getValueAt
public java.lang.Object getValueAt(int row, int column)
-
setValueAt
public void setValueAt(java.lang.Object aValue, int row, int column)
- Specified by:
setValueAt
in interfacejavax.swing.table.TableModel
- Overrides:
setValueAt
in classjavax.swing.table.AbstractTableModel
-
-