0

JTextField入力に関連してフィルタリングしているJTableがあります。これは、最初の文字に基づいて行をフィルタリングするだけです。たとえば、マイカラム2に値がある場合:

VALUES PARAMETER
PARAMETER VALUES
.
.

JTextfieldにVと入力すると、行が表示され、行をVALUES PARAMETER離れPARAMETER VALUESます。Vと入力すると、2行または名前がで始まる他の行を表示できるように、高度なフィルターが必要です。 JTextFieldに入力された値:Here is My Filter ....(Part)

 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 に答える