如何在 Java Swing 中反转 RowFilter 工作

how to Reverse a RowFilter Work in Java Swing

我的 RowFilter 在我的代码上没有问题!

sorter = new TableRowSorter < > (((model)));

List < RowFilter < Object, Object >> rfs = new ArrayList < > (2);

if (jRadioButton2.isSelected() == false) {
    String regex1 = "(?i)^" + CompanyNameFilter.getSelectedItem() + "$";
    rfs.add(RowFilter.regexFilter(regex1, 9));
}

if (jRadioButton3.isSelected() == false) {

    if (!CompanyFilterText.getText().equals("") && CompanyFilterText.getText() != null && !CompanyFilterText.getText().equals("تبحث عن شيء ؟")) {
        String regex3 = "(?i)" + CompanyFilterText.getText();
        rfs.add(RowFilter.regexFilter(regex3));
    }
}

if (!searchFilter.getText().equals("") && searchFilter.getText() != null && !searchFilter.getText().equals("تبحث عن شيء ؟")) {
    String regex2 = "(?i)" + searchFilter.getText();
    rfs.add(RowFilter.regexFilter(regex2));
}

RowFilter < Object, Object > af = RowFilter.andFilter(rfs);
sorter.setRowFilter(af);
jTable1.setRowSorter(sorter);

在我的代码中,我使用了很多案例来过滤 table 用户选择的

但是我需要做一个认为要反转 RowFilter 工作所以我需要的作为示例:

只是过滤器而不是搜索 (AB) 并在 jTable 中显示结果我希望它隐藏结果并显示不是 = (AB) 的其余部分!

所以我需要反转这个工作代码:

String regex2 = "(?i)" + searchFilter.getText();
rfs.add(RowFilter.regexFilter(regex2));

将其包装在 RowFilter.notFilter(RowFilter)

Returns a RowFilter that includes entries if the supplied filter does not include the entry.