Perché non il mio filtro TableRowFilter?
-
09-10-2019 - |
Domanda
Sto cercando di filtrare un JTable utilizzando un TableRowFilter. Funziona per me su un semplice esempio, ma io non riesco a farlo funzionare sulla cosa reale. Il filtro si chiama, i registri vengono stampate - ma mi staill vedere le righe. Qualche idea?
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;
}
...
}
Soluzione
Come tutti i bug stupido andare - questo era uno di loro. In un'altra classe che utilizzano questo tavolo, ho usato table.setAutoCreateRowSorter (vero) - quindi anche pensato che il selezionatore originale ancora correva, quella di default ha fatto anche, e poi non è successo niente.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow