Почему не мой фильтр TableRowFilter? - PullRequest
0 голосов
/ 11 января 2011

Я пытаюсь отфильтровать JTable, используя TableRowFilter. Это работает для меня на простом примере, но я не могу заставить его работать на реальных вещах. Фильтр вызывается, логи печатаются - но я все равно вижу строки. Есть идеи?

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;
}

...
}

1 Ответ

1 голос
/ 16 января 2011

Как и все глупые ошибки - это был один из них. В другом классе, использующем эту таблицу, я использовал table.setAutoCreateRowSorter (true) - поэтому даже думал, что оригинальный сортировщик все еще работает, по умолчанию тоже, а затем ничего не произошло.

...