Я использую пользовательский класс, расширяющий RowFilter фильтровать свою таблицу на основе логического значения в столбцеJTable RowFilter отображает неправильные строки
public class MyRowFilter extends RowFilter<Object, Integer> {
@Override
public boolean include(Entry entry) {
return (boolean) entry.getValue(0));
}
}
Поручаю его к столу в качестве такого
TableRowSorter<TableModel> tableRowSorter = new TableRowSorter();
myRowFilter = new MyRowFilter(myTableModel);
tableRowSorter.setRowFilter(myRowFilter);
myTable.setRowSorter(platformTableRowSorter);
Но то, что я получаю в форме, - это только первое N (количество времени include() возвращено true) строки myTable вместо тех, для которых include() возвращено true.
Что может вызвать такое поведение?
Вы уверены, что ваши ценности не в правильном порядке? При упорядочении чисел, которые являются строками, строки будут упорядочены по алфавиту, а не по порядку нумерации –
@Desolator их порядок верен, что неправильно - это строки, которые отображаются, только один из них соответствует фильтру. – NekoiNemo
для лучшей помощи скорее отправить SSCCE/MCVE, короткий, выполнимый, компилируемый, с жестким кодом для JTable, XxxTableModel в локальной переменной – mKorbel