在JTable中插入后如何使用(RowSort)



我想知道:插入一行后,如何对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,它有一个例子

相关内容

  • 没有找到相关文章

最新更新