我在应用程序中有 2 个复选框。复选框相互独立,即可以选择一个或两个都可以选择,或者两者都不能选择。
复选框过滤表模型,表每 10 秒刷新一次。
在每次刷新之前,我都会获得每个复选框的状态,如下所示:
checkM = checkboxM.isSelected();
checkI = checkboxI.isSelected();
刷新发生后,我尝试将复选框设置为如下所示:
checkboxM.setSelected(checkM);
checkboxI.setSelected(checkI);
然后是我的 if 语句以找出选择了哪些框,这就是问题所在,因为我似乎无法弄清楚如何应用过滤器 a)两个复选框都被选中,因此显示所有内容为“A”的行和“B” b) 选择其中一个复选框 s0 仅显示“A”或“B”或不显示行
if ((checkM = false) || (checkI = false)){
newFilter("",4);
}
else{
newFilter("A",4);
newFilter("B",4);
}
//this is my filter
private void newFilter(String x, Integer n) {
sorterDG = new TableRowSorter (modelImbalanceTable);
sorterDG.setRowFilter(RowFilter.regexFilter(x,n));
tableDG.setRowSorter(sorterDG);
tableDG.tableChanged(new TableModelEvent(tableDG.getModel())) ;
tableDG.repaint();
}