获取已排序的TableModel

时间:2015-07-26 17:19:27

标签: java swing jtable tablemodel tablerowsorter

我正在尝试通过以下简单的TableModel条件获取JTable的已排序regex

try {
    TableRowSorter<TableModel> sortRow = new TableRowSorter<>(testTable.getModel());
    testTable.setRowSorter(sortRow);
    String sortString = "Something";
    sortRow.setRowFilter(RowFilter.regexFilter("(?i)" + sortString));
}

将根据sortString对数据进行排序。

但是当我尝试执行以下操作时:

try {
    TableRowSorter<TableModel> sortRow = new TableRowSorter<>(testTable.getModel());
    // ....
    // previous code
    // ....
    TableModel tM = testTable.getModel();
    someOtherTestTable.setModel(tM); //<---Here
}

它为我提供了DefaultTableModel。所以,我的问题是这样的:如何获取排序TableModel以便我可以发布到另一个JTable

1 个答案:

答案 0 :(得分:3)

TableRowSorter条件视图JTable; 模型TableModel保持不变。如果RowSorter的基础模型保持不变,您应该可以使用setRowSorter()将旧TableRowSorter应用于新的JTable

…
someOtherTestTable.setModel(tM);
someOtherTestTable.setRowSorter(sortRow);