|
Creating |
Top Previous Next |
SortTableModel provides the sorting by manipulating the data given to it by an underlying ListTableModel instance. See ListTableModel for more information.
There are two constructors:
SortTableModel(ListTableModel tableModel);
SortTableModel(ListTableModel tableModel, JTableHeader tableHeader);
The underlying ListTableModel can be passed as an argument in the constructor or can be specified later via SortTableModel's superclass (ListTableMap) method:
public void setModel(ListTableModel newModel);
You also need to specify the table's header for sorting to occur when the header is clicked. This can be passed as an argument in the second constructor, or can be given later with:
public void setHeader(JTableHeader newTableHeader);
Example: Create a SortTableModel
(1)
ListTableModel unsortedModel = new DefaultListTableModel();
SortTableModel sortedModel = new SortTableModel(unsortedModel);
JTable table = new JTable();
table.setModel(sortedModel);
sortedModel.setHeader(table.getTableHeader());
(2)
JTable table = new AdvancedJTable();
ListTableModel unsortedModel = new DefaultListTableModel();
SortTableModel sortedModel = new SortTableModel(unsortedModel, table.getTableHeader());
table.setModel(stm);
(3)
ListTableModel unsortedModel = new DefaultListTableModel();
SortTableModel sortedModel = new SortTableModel(unsortedModel);
JTable table = new JTable(sortedModel);
sortedModel.setHeader(table.getTableHeader());