0

我将用于 JTable 的数据是对象数据(例如 Person)的 ArrayList,它将使用方法返回。因为JTable的构造函数需要你传入一个Object类型的多维数组,我需要把这个ArrayList转成多维数组吗?无论哪种情况,如何从对象数据的 ArrayList 创建 JTable?

非常感谢

4

2 回答 2

2

可以使用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});
}

有关其他信息,请参阅此问题

于 2013-04-05T10:14:23.310 回答
2
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;
}
于 2013-04-05T10:18:25.030 回答