我将为JTable使用的数据是对象数据(例如Person)的ArrayList,它将使用方法返回。因为JTable的构造函数要求传入Object类型的多维数组,所以我需要将这个ArrayList转换为多维数组吗?无论哪种情况,我如何从对象数据的ArrayList创建JTable ?
Thanks much appreciate
可以使用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;
}