有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何“反排序”JTable?

我为JTable创建了一个TableRowSorter,并且能够正确地对表进行排序。但是有没有办法在我整理之前让桌子恢复到原来的状态呢?我试着点击表格标题,但它似乎只按升序或降序对表格进行排序,并且不会将表格返回到排序之前的原始状态。是否可以取消表的排序并将其恢复到原始状态?谢谢


共 (2) 个答案

  1. # 1 楼答案

    我也遇到了同样的问题,在排序并更改为空表之后,getColumClass从我的模型中抛出了一个NullPointer异常。 我解决了这个问题,在清空我的桌子并再次启用分拣机之前,我禁用了自动分拣机

    this.mainTable.setAutoCreateRowSorter(false);
    this.tableModel.removeAllElements();
    this.mainTable.setAutoCreateRowSorter(true);
    this.mainTable.repaint();
    this.mainScrollPane.doLayout();
    
  2. # 2 楼答案

    空的sortKeys列表表示该视图应该被取消排序。尝试以下操作以恢复原始行顺序:

    table.getRowSorter().setSortKeys(null);
    

    阅读RowSorter规范中的更多内容