0

我有一个与 JTextField 输入相关的过滤 JTable。它只是基于第一个字符过滤行。例如,如果我的第 2 列具有值:

VALUES PARAMETER
PARAMETER VALUES
.
.

当我在 JTextfield 中输入 V 时,它会显示该行VALUES PARAMETER并离开该行PARAMETER VALUES我需要一个高级过滤器,这样当我输入 V 时,它将能够向我显示两行或任何其他行,其中有一个名称以开头在 JTextField 中键入的值:这是我的过滤器....(部分)

 jtfSearch.getDocument().addDocumentListener(new DocumentListener() {
        public void changedUpdate(DocumentEvent e) {
            newFilter();
        }

        public void insertUpdate(DocumentEvent e) {
            newFilter();
        }

        public void removeUpdate(DocumentEvent e) {
            newFilter();
        }
    });

我的过滤方法:

 public void newFilter() {
    RowFilter< MyTableModel, Object> rf = null;
    try {
        rf = RowFilter.regexFilter("^" + jtfSearch.getText(), 1);
    } catch (Exception as) {
        System.err.println(as);
        return;
    }
    sorter.setRowFilter(rf);
}

这是正则表达式过滤器的问题还是我应该怎么做?

4

1 回答 1

3

我假设jtfSearch.getText()从整行返回文本,这是正确的吗?如果是这样,那么问题可能只是你"^"在正则表达式的开头,把它拿出来,它应该匹配整行内容中的任何地方。

于 2012-10-26T08:38:26.010 回答