Swing 为什么赢了';我的桌子没有过滤器吗?

Swing 为什么赢了';我的桌子没有过滤器吗?,swing,jtable,tablerowsorter,Swing,Jtable,Tablerowsorter,我正在尝试使用TableRowFilter筛选JTable。它在一个简单的例子中对我有效,但我似乎无法让它在真实的事物中起作用。过滤器被调用,日志被打印,但我仍然可以看到行。有什么想法吗 public class TopicTable extends JTable { ... public TopicTable(ITopic topic) { super(); TopicTableDataModel model = new TopicTableDataModel(topic

我正在尝试使用TableRowFilter筛选JTable。它在一个简单的例子中对我有效,但我似乎无法让它在真实的事物中起作用。过滤器被调用,日志被打印,但我仍然可以看到行。有什么想法吗

public class TopicTable extends JTable {

...

public TopicTable(ITopic topic) {

    super();
    TopicTableDataModel model = new TopicTableDataModel(topic);
    setModel(model);
    setRowSorter(generateTableRowSorter(model));        
    setFillsViewportHeight(true);
    setColumnRenderers();       
}

private TableRowSorter<TableModel> generateTableRowSorter(TableModel model) {

    RowFilter<Object, Object> classFilter = new RowFilter<Object, Object>() {

        @Override
        public boolean include(javax.swing.RowFilter.Entry<? extends Object, ? extends Object> entry) {
            log.debug("Filtering? " + entry.getValue(1));
            return false;
        }

    };

    TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
    sorter.setRowFilter(classFilter);
    return sorter;
}

...
}
public类TopicTable扩展了JTable{
...
公共主题(ITopic主题){
超级();
TopicTableDataModel=新的TopicTableDataModel(主题);
setModel(model);
setRowSorter(generateTableRowSorter(型号));
设置FillsViewPortheight(真);
setColumnRenders();
}
专用TableRowSorter generateTableRowSorter(TableModel型号){
RowFilter classFilter=新的RowFilter(){
@凌驾

公共布尔include(javax.swing.RowFilter.Entry和所有愚蠢的bug一样-这就是其中之一。在使用此表的另一个类中,我使用了table.setAutoCreateRowSorter(true)-因此,即使最初的分拣机仍然运行,默认的分拣机也运行了,但什么也没有发生。

简单示例和复杂示例之间有什么不同?