Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 过滤后更新jtable模型_Java_Swing_Jtable_Tablemodel_Rowsorter - Fatal编程技术网

Java 过滤后更新jtable模型

Java 过滤后更新jtable模型,java,swing,jtable,tablemodel,rowsorter,Java,Swing,Jtable,Tablemodel,Rowsorter,我想将筛选器应用于JTable String text = textField.getText(); rowSorter = new TableRowSorter<>(tableModel); this.getjTable1().setRowSorter(rowSorter); this.getjTable1().removeAll(); if (text.trim

我想将筛选器应用于JTable

            String text = textField.getText();
            rowSorter = new TableRowSorter<>(tableModel);
            this.getjTable1().setRowSorter(rowSorter);
            this.getjTable1().removeAll();
            if (text.trim().length() == 0) {
                rowSorter.setRowFilter(null);
            } else {
                //String regex = String.format("^%s$", text);
                if(jCheckBoxExtract.isSelected()){
                    text="^"+text+"$";
                }
                else{
                    if(!text.contains(".")||text.contains("$"))text="^"+text;
                }
                RowFilter rowFilter = RowFilter.regexFilter(text, 1);
                rowSorter.setRowFilter(rowFilter);
            }
            this.getjTable1().repaint();   
String text=textField.getText();
rowSorter=新表格rowSorter(表格型号);
this.getjTable1().setRowSorter(rowSorter);
this.getjTable1().removeAll();
如果(text.trim().length()==0){
rowSorter.setRowFilter(空);
}否则{
//String regex=String.format(“^%s$”,文本);
if(jCheckBoxExtract.isSelected()){
text=“^”+text+“$”;
}
否则{
如果(!text.contains(“.”| | text.contains($”)text=“^”+text;
}
RowFilter RowFilter=RowFilter.regexFilter(文本,1);
rowSorter.setRowFilter(rowFilter);
}
this.getjTable1().repaint();

这段代码可以工作,但是现在,如果我想在jtable中获得一个值,那么模型不会更新。jtable中使用的模型始终是旧模型,而不是经过筛选后的新模型

要获得正确的值,请在需要表中的行时执行此操作:

model.getSelectedEntry(table.convertRowIndexToModel(table.getSelectedRow()));

要获得正确的值,请在需要表中的行时执行此操作:

model.getSelectedEntry(table.convertRowIndexToModel(table.getSelectedRow()));

为了更快地获得更好的帮助,请发布一个or。为表格硬编码一些数据。为了更快地获得更好的帮助,请发布or。为表格硬编码一些数据。