首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在java JTable中显示特定行

在java JTable中显示特定行
EN

Stack Overflow用户
提问于 2013-04-10 23:24:52
回答 1查看 1.9K关注 0票数 0

我有一个Java Table,TableModel.each row(element)有一个ID,我想显示特定的ID。如何过滤这些元素?可以更改选定的ID。

例如:

代码语言:javascript
运行
复制
public class L {
int id;
String name;
String family;
}

//----

private static final String[] columnNames = { "name","family"};
private static final Class[] columnClasses = {class.String.class,String.Class};
private Vector<L> list = Vector<L>();

list.add(new L(1,"A","b"));
.
.
.
list.add(new L(100,"AB","aa");

我希望显示具有此I的元素,例如{1 39 45 55 22}。

如何过滤这些ID?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 23:35:23

你可以用RowFilter和TableRowSorter做到这一点:

代码语言:javascript
运行
复制
final int[] ids = new int[]{1, 39, 45, 55, 22};
RowFilter<Object, Object> filter = new RowFilter<Object, Object>() {
  public boolean include(Entry entry) {
    L currentObject = (L) (entry.getValue(0));
    for(int i=0;i<ids.length;i++){
        if(currentObject.getId()==ids[i]){
            return true;
        }
    }
    return false;
  }
};

TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
sorter.setRowFilter(filter);
yourTable.setRowSorter(sorter);

经过测试,它适用于我

希望这能有所帮助

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15930063

复制
相关文章

相似问题

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