java中使用jcheckbox和jtextfield的swing行过滤器
我需要帮助使行筛选器工作。我正在尝试使用下面的复选框筛选第三列。当我单击其中一个复选框时,它工作正常,但当选中多个复选框时,它不工作
任何帮助都将不胜感激。充分的解释也会很有帮助。提前谢谢
private void newFilter() {
RowFilter<DefaultTableModel, Object> rf = null;
java.util.List<RowFilter<Object,Object>> rfs =
new ArrayList<RowFilter<Object,Object>>(2);
try {
//Filter "Full Name" using TextField
rfs.add(RowFilter.regexFilter("(?i)" + textField.getText(), 0));
/* Filter "Employee Type" using CheckBoxes
* ex. If both chckbxAdmin and chckbxEmployee is checked,
* Jtable will filter accordingly
*/
rfs.add(RowFilter.regexFilter("(?i)" + sfAdmin, 2));
rfs.add(RowFilter.regexFilter("(?i)" + sfEmployee, 2));
rfs.add(RowFilter.regexFilter("(?i)" + sfStaff, 2));
} catch (java.util.regex.PatternSyntaxException e) {
e.printStackTrace();
}
RowFilter<Object,Object> af = RowFilter.andFilter(rfs);
sorter.setRowFilter(af);
}
共 (0) 个答案