public class TableSorter
extends javax.swing.table.AbstractTableModel
| Modifier and Type | Class and 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 |
| Modifier and Type | Field and Description |
|---|---|
static int |
ASCENDING |
private java.util.Map |
columnComparators |
static java.util.Comparator |
COMPARABLE_COMPARATOR |
static int |
DESCENDING |
private static TableSorter.Directive |
EMPTY_DIRECTIVE |
static java.util.Comparator |
LEXICAL_COMPARATOR |
private int[] |
modelToView |
private java.awt.event.MouseListener |
mouseListener |
private boolean |
need_resort |
static int |
NOT_SORTED |
private java.util.List |
sortingColumns |
private javax.swing.table.JTableHeader |
tableHeader |
protected SmartTable.MyTableModel |
tableModel |
private javax.swing.event.TableModelListener |
tableModelListener |
private java.util.List<TableSorter.Row> |
viewToModel |
| Constructor and Description |
|---|
TableSorter() |
TableSorter(SmartTable.MyTableModel tableModel) |
TableSorter(SmartTable.MyTableModel tableModel,
javax.swing.table.JTableHeader tableHeader) |
| Modifier and Type | Method and Description |
|---|---|
void |
cancelSorting() |
private void |
clearSortingState(boolean forceFullReset) |
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 java.util.List<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(SmartTable.MyTableModel tableModel) |
void |
setValueAt(java.lang.Object aValue,
int row,
int column) |
private void |
sortingStatusChanged() |
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListenerprotected SmartTable.MyTableModel tableModel
public static final int DESCENDING
public static final int NOT_SORTED
public static final int ASCENDING
private static TableSorter.Directive EMPTY_DIRECTIVE
public static final java.util.Comparator COMPARABLE_COMPARATOR
public static final java.util.Comparator LEXICAL_COMPARATOR
private java.util.List<TableSorter.Row> viewToModel
private int[] modelToView
private javax.swing.table.JTableHeader tableHeader
private java.awt.event.MouseListener mouseListener
private javax.swing.event.TableModelListener tableModelListener
private java.util.Map columnComparators
private java.util.List sortingColumns
private boolean need_resort
public TableSorter()
public TableSorter(SmartTable.MyTableModel tableModel)
public TableSorter(SmartTable.MyTableModel tableModel, javax.swing.table.JTableHeader tableHeader)
private void clearSortingState(boolean forceFullReset)
public javax.swing.table.TableModel getTableModel()
public void setTableModel(SmartTable.MyTableModel tableModel)
public javax.swing.table.JTableHeader getTableHeader()
public void setTableHeader(javax.swing.table.JTableHeader tableHeader)
public boolean isSorting()
private TableSorter.Directive getDirective(int column)
public int getSortingStatus(int column)
private void sortingStatusChanged()
public void setSortingStatus(int column,
int status)
protected javax.swing.Icon getHeaderRendererIcon(int column,
int size)
public void cancelSorting()
public void setColumnComparator(java.lang.Class type,
java.util.Comparator comparator)
protected java.util.Comparator getComparator(int column)
private java.util.List<TableSorter.Row> getViewToModel()
public int modelIndex(int viewIndex)
private int[] getModelToView()
public int getRowCount()
public int getColumnCount()
public java.lang.String getColumnName(int column)
getColumnName in interface javax.swing.table.TableModelgetColumnName in class javax.swing.table.AbstractTableModelpublic java.lang.Class getColumnClass(int column)
getColumnClass in interface javax.swing.table.TableModelgetColumnClass in class javax.swing.table.AbstractTableModelpublic boolean isCellEditable(int row,
int column)
isCellEditable in interface javax.swing.table.TableModelisCellEditable in class javax.swing.table.AbstractTableModelpublic java.lang.Object getValueAt(int row,
int column)
public void setValueAt(java.lang.Object aValue,
int row,
int column)
setValueAt in interface javax.swing.table.TableModelsetValueAt in class javax.swing.table.AbstractTableModel