嗨,我有一个我创建的名为 Pets 的类的数组列表,它具有以下变量
private String name;
private String species;
private int age;
我想将这个数组列表显示到一个 jTable 中,我通过使用 defaultTableModel 和调用 setModel() 成功地做到了这一点。
但是我需要为Jtable 添加排序和过滤功能。我看了一下 java 教程,他们正在创建 AbstractTableModel 的子类以便进行排序和过滤。但是他们使用数组来存储数据。所以我尝试修改代码以使用 arraylist isstead 但我坚持使用此方法
public Object getValueAt(int row, int col) {
return data[row][col];
}
如何从 arraylist 的一个对象中获取所有值?
任何帮助将不胜感激。提前致谢。
最佳答案
您的 ArrayList 是否包含属于它自己类型的对象的行?如果是这样,并且您的 ArrayList 是通用的 ArrayList<RowItem>
那么你可以这样做:
@Override
public Object getValueAt(int row, int col) {
if (row > getRowCount()) {
// throw an exception
}
RowItem rowItem = rowItemList.get(row);
switch (col) {
case 0:
return rowItem.getName();
case 1:
return rowItem.getLastSpecies();
case 2:
return rowItem.getAge();
}
return null; // or throw an exception
}
关于java - 实现 ArrayLists 到 Table 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10264169/