有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案