2014-03-27 48 views
0

我有一個哈希表在JTable中顯示HashTable數據?

hashtable c = new Hashtable(); 

Employee emp = new Employee("E1001","Sky"); 
c.put("E1001",emp); 

然後,我有一個JTable

Object[][] data = { 

       {"", ""}, 

     }; 

String[] headers = {"Employee Code", "Employee First Name"}; 
JTable table = new JTable(data, headers); 

我似乎無法弄清楚如何將hashtable項目添加到JTable

回答

1

如果我讀這個權利,像...

Object[][] data = new Object[c.size()][2]; 
int row = 0; 
for (Object key : c.keySet()) { 
    data[row][0] = key; 
    Employee emp = (Employee)c.get(key); 
    data[row][1] = ...; // Get name from Employee object... 
    // Personally, I prefer to assign the Employee object to 
    // the column of the row and use a TableCellRenderer to 
    // renderer it 
} 

String[] headers = {"Employee Code", "Employee First Name"}; 
JTable table = new JTable(data, headers); 

應該工作...

現在,如果你想HashMapTableModel之間更強有力的關係(所以你可以添加內容表中,它會更新HashMap),你將需要使用一個AbstractTableModel並弄髒你的手將內容映射到模型和HashMap

+0

之間的內容。另請參閱此相關的[示例](http://stackoverflow.com/a/9134371/230513)。 – trashgod