在JTable中插入后如何求助(RowSort)?

时间:2014-11-13 06:12:58

标签: java swing sorting jtable rowsorter

我想知道:在插入行后如何重新排序(重新排序)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重新排序...

1 个答案:

答案 0 :(得分:1)

如果您想要实时更新,那么您可以尝试拨打TabkeRowSorter上的TableRowSorter#setSortsOnUpdates并将其传递给true ...

否则,如果您想控制何时对更新进行排序,您只需拨打TableRowSorter#sort

即可

如果您想以编程方式修改排序顺序,请查看具有示例的Sorting and Filtering