Question

Je suis en train de filtrer un JTable en utilisant un TableRowFilter. Il travaille pour moi un exemple simple, mais je ne peux pas sembler l'obtenir au travail sur la chose réelle. Le filtre est appelé, les journaux sont imprimés - mais je staill voir les lignes. Des idées?

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

...
}
Était-ce utile?

La solution

Comme tous les bugs stupides vont - ce fut l'un d'entre eux. Dans une autre classe qui utilisent ce tableau, je table.setAutoCreateRowSorter (vrai) - alors même pensé que le trieur d'origine a couru encore, celui par défaut a aussi, et rien ne se passe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top