我将用于 JTable 的数据是对象数据(例如 Person)的 ArrayList,它将使用方法返回。因为JTable的构造函数需要你传入一个Object类型的多维数组,我需要把这个ArrayList转成多维数组吗?无论哪种情况,如何从对象数据的 ArrayList 创建 JTable?
非常感谢
我将用于 JTable 的数据是对象数据(例如 Person)的 ArrayList,它将使用方法返回。因为JTable的构造函数需要你传入一个Object类型的多维数组,我需要把这个ArrayList转成多维数组吗?无论哪种情况,如何从对象数据的 ArrayList 创建 JTable?
非常感谢
可以使用DefaultTableModel
(不需要多维数组)来完成
String columns = new String[] {"Name", "Age"};
ArrayList<Person> data = getYourData();
DefaultTableModel dm = new DefaultTableModel(data.size(), columns.length);
JTable table = new JTable(dm);
for(Person p : data) {
table.addRow(new String[]{p.name, p.age});
}
有关其他信息,请参阅此问题
you can try this code. And set your JTables model from this method.
public TableModel toTableModel() {
Object[] headerNames = new Object[] { "a", "b" };
DefaultTableModel model = new DefaultTableModel(headerNames, 0);
List<String> valueList = new ArrayList<String>();
valueList.add("a");
valueList.add("b");
model.addRow(valueList.toArray());
return model;
}