我是JTable的新手,也许我什么都不懂。
假设我的ArrayList为1000 Students (id, name, surname, age)。我想向所有JTable的学生展示。据我所知,我必须创建StudentTableModel,extends AbstractTableModel,并将StudentTableModel设置为JTable。因此,我们可以将StudentTableModel视为ArrayList和表之间的“适配器”。在互联网上,我发现了getValueAt的这样一个实例实现。
public Object getValueAt(int row, int col) {
Student student = arrayList.get(row);
switch (col) {
case 0:
return student.getId();
case 1:
return student.getName();
case 2:
return student.getSurname();
case 3:
return student.getAge();
}
}问题是,有1000个学生(行)和4个字段(列),我们将运行这个开关4000次。请解释我做错了什么,或者告诉我一个更好的解决方案。
发布于 2014-05-07 19:43:39
发布于 2014-05-07 08:06:43
您可以将学生存储在将行映射到学生属性的Map中。
Map<Integer, Object[]> students;这个方法看起来是这样的:
public Object getValueAt(int row, int col) {
return students.get(row)[col];
}https://stackoverflow.com/questions/23511824
复制相似问题