我將用於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