2013-04-05 74 views
0

我將用於JTable的數據是將使用方法返回的對象數據的ArrayList(例如Person)。由於JTable的構造函數要求您傳入Object類型的多維數組,因此是否需要將此ArrayList轉換爲多維數組? 無論哪種情況,我該如何從Object數據的ArrayList創建一個JTable?在Java中創建JTable

感謝很多使用DefaultTableModel讚賞

+0

請仔細閱讀[如何使用表](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)來回答你的問題。 – Kai 2013-04-05 10:04:41

+0

我實際上使用的是Oracle站點,但並未像我一樣處理ArrayList。與教程不同,我的數據不是硬編碼的。謝謝 – 2013-04-05 10:11:47

回答

2

這是可以做到(無需多維數組)

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問題

+0

非常感謝您的回覆。好的解決方案沒想到它是基礎班。再次感謝 – 2013-04-05 10:23:54

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; 
} 
+0

非常感謝答覆,沒想到基類。再次感謝 – 2013-04-05 10:25:56