我想知道:插入一行后,如何对JTable
行重新排序?
我使用下一个代码:
TableModel model = new DefaultTableModel(rows, columns) {
public Class getColumnClass(int column) {
Class returnValue;
if ((column >= 0) && (column < getColumnCount())) {
returnValue = getValueAt(0, column).getClass();
} else {
returnValue = Object.class;
}
return returnValue;
}
};
JTable table = new JTable(model);
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
table.setRowSorter(sorter);
JScrollPane pane = new JScrollPane(table);
这段代码运行良好,我可以毫无问题地添加新行,但我希望在插入新行后,它会使用第一列ASC重新排序。。。
如果您想要实时更新,那么您可以尝试在TabkeRowSorter
上调用TableRowSorter#setSortsOnUpdates
并将其传递给true
。。。
否则,如果你想控制更新的排序时间,你可以直接调用TableRowSorter#sort
如果你想用程序修改排序顺序,那么看看Sorting and Filtering,它有一个例子