[英]show specific rows in java JTable
I have a Java Table and TableModel.each row(element)
has a ID. 我有一个Java Table和
TableModel.each row(element)
有一个ID。 I want to show specific IDs . 我想显示特定的ID。 How can filter this elements?
如何过滤此元素? Selected IDs can be changed.
所选的ID可以更改。
For example: 例如:
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 want to show elements with this IDs, for example {1 39 45 55 22}. 我想显示具有此ID的元素,例如{1 39 45 55 22}。
How can filter these IDs? 如何过滤这些ID?
You can do it with RowFilter and TableRowSorter: 您可以使用RowFilter和TableRowSorter来做到这一点:
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);
Tested, it works for me 经过测试,对我有用
Hope this helps 希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.