首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤后更新jtable模型

过滤后更新jtable模型
EN

Stack Overflow用户
提问于 2017-07-03 17:18:39
回答 1查看 525关注 0票数 0

我想将过滤器应用于JTable。

代码语言:javascript
复制
            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();   

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-03 17:24:31

要获得正确的值,只要需要表中的行,就执行以下操作:

代码语言:javascript
复制
model.getSelectedEntry(table.convertRowIndexToModel(table.getSelectedRow()));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44881901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档