Java 侦听器在Jtable的textfield中显示搜索的术语

Java 侦听器在Jtable的textfield中显示搜索的术语,java,swing,jtable,Java,Swing,Jtable,再见,伙计们。我希望你能在这件事上帮助我。我无法设置我的听众 我想做的是根据我在文本字段中键入的文本更新JTable上的数据 nameTextField = new JTextField(20); nameTextField.setBounds(60, 80, 260, 30); nameTextField.addActionListener(new ActionListener() { @Override public void acti

再见,伙计们。我希望你能在这件事上帮助我。我无法设置我的听众

我想做的是根据我在文本字段中键入的文本更新JTable上的数据

    nameTextField = new JTextField(20);
    nameTextField.setBounds(60, 80, 260, 30);
    nameTextField.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String search = nameTextField.getText().toLowerCase();
            DefaultTableModel table = (DefaultTableModel) spreadSheet.getModel();
            TableRowSorter<DefaultTableModel> tableRowSorter = new TableRowSorter<>(table);
            tableRowSorter.setRowFilter(RowFilter.regexFilter(search));
            spreadSheet.setRowSorter(tableRowSorter);
        }
    });
这是文本字段的全部代码

    nameTextField = new JTextField(20);
    nameTextField.setBounds(60, 80, 260, 30);
    nameTextField.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String search = nameTextField.getText().toLowerCase();
            DefaultTableModel table = (DefaultTableModel) spreadSheet.getModel();
            TableRowSorter<DefaultTableModel> tableRowSorter = new TableRowSorter<>(table);
            tableRowSorter.setRowFilter(RowFilter.regexFilter(search));
            spreadSheet.setRowSorter(tableRowSorter);
        }
    });
nameTextField=新的JTextField(20);
nameTextField.setBounds(60,80,260,30);
nameTextField.addActionListener(新ActionListener(){
@凌驾
已执行的公共无效操作(操作事件e){
String search=nameTextField.getText().toLowerCase();
DefaultTableModel表格=(DefaultTableModel)电子表格.getModel();
TableRowSorter TableRowSorter=新的TableRowSorter(表格);
tableRowSorter.setRowFilter(RowFilter.regexFilter(搜索));
电子表格。setRowSorter(表格RowSorter);
}
});
顺便说一句,我应该对组件进行硬编码,而这些行对我的代码也不起作用(或者可能我遗漏了一些东西):

@覆盖
公共无效密钥已释放(密钥事件e){
String search=nameTextField.getText().toLowerCase();
DefaultTableModel表格=(DefaultTableModel)电子表格.getModel();
TableRowSorter TableRowSorter=新的TableRowSorter(表格);
tableRowSorter.setRowFilter(RowFilter.regexFilter(搜索));
电子表格。setRowSorter(表格RowSorter);
}
以下是输出的图片:

提前感谢您的帮助

查看此示例-

我认为您应该首先设置RowFilter,然后在电子表格中设置RowSorter

String search=nameTextField.getText().toLowerCase();
如果(如getSource()==nameTextField){
DefaultTableModel表格=(DefaultTableModel)电子表格.getModel();
TableRowSorter TableRowSorter=新的TableRowSorter(表格);
tableRowSorter.setRowFilter(RowFilter.regexFilter(搜索));
电子表格。setRowSorter(表格RowSorter);
}

另外,您能提供监听器的代码吗?

请阅读上Swing教程中的部分,以获得完整的工作示例。我已编辑了问题并添加了代码。