我将用于JTable的数据是将使用方法返回的对象数据的ArrayList(例如Person)。由于JTable的构造函数要求您传入Object类型的多维数组,因此是否需要将此ArrayList转换为多维数组? 无论哪种情况,我该如何从Object数据的ArrayList创建一个JTable?在Java中创建JTable
感谢很多使用DefaultTableModel
赞赏
我将用于JTable的数据是将使用方法返回的对象数据的ArrayList(例如Person)。由于JTable的构造函数要求您传入Object类型的多维数组,因此是否需要将此ArrayList转换为多维数组? 无论哪种情况,我该如何从Object数据的ArrayList创建一个JTable?在Java中创建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});
}
看到更多的信息this问题
非常感谢您的回复。好的解决方案没想到它是基础班。再次感谢 – 2013-04-05 10:23:54
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-05 10:25:56
请仔细阅读[如何使用表](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)来回答你的问题。 – Kai 2013-04-05 10:04:41
我实际上使用的是Oracle站点,但并未像我一样处理ArrayList。与教程不同,我的数据不是硬编码的。谢谢 – 2013-04-05 10:11:47