在JTextField中使用分号和逗号进行搜索

时间:2014-09-03 09:40:03

标签: java regex search actionlistener jtextfield

当我在搜索栏中使用逗号或分号时,您是否知道为什么没有搜索结果? 我真的很生气......

谢谢; - )

// Create searchbar
    searchBar = new JTextField(15);
    searchButton.setVisible(false);
// Add to panel
    panel.add(searchBar);
    getRootPane().setDefaultButton(searchButton);
    add(panel, BorderLayout.PAGE_START);

...
...
...

// Integrate ActionListener for textfilter
    searchButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

             String text = searchBar.getText();


            if (text.length() == 0) {
                tableRowSorter.setRowFilter(null);
            } else {
                tableRowSorter.setRowFilter(RowFilter.regexFilter("(?i)" + text));


            }
        }

    });![Panel with search box][1]

enter image description here

1 个答案:

答案 0 :(得分:0)

使用逗号和分号,如元字符或转义序列。 尝试使用quote()方法来逃避它们:

tableRowSorter.setRowFilter(RowFilter.regexFilter("(?i)" + Pattern.quote(text)));