2013-05-28 138 views
1

我试图用包含字符串和浮点数的地图中的数据填充JTable。以下是我如何努力做到这一点,但我一遍又一遍地得到相同的数据。用地图数据填充JTable

private JTable buildTable(Map<String, Float> mapData){ 

    String columnNames[] = { "MyString", "MyFloat" }; 
    Object[][] data = new Object[mapData.size()][2]; 

    for(int i = 0; i < mapData.size(); i++){ 

     for(Map.Entry<String, Float> entry : mapData.entrySet()){ 

     data[i][0] = entry.getKey(); 
     data[i][1] = entry.getValue().getMyFloat(); 
     break; 
     } 
    } 

    JTable table = new JTable(data, columnNames); 

    return table; 
} 
+1

也许没有理由地图<>转换为JTable中,实现AbstractTableModel上与地图源 – mKorbel

回答

2

内循环在外循环的每次迭代中将所有键/值对写入相同的数组索引。事实上,我们只需要一个循环,而不是两个循环。一个单独的计数器可以帮助增加索引。

int i = 0; 
for(Map.Entry<String, Float> entry : mapData.entrySet()) { 

    data[i][0] = entry.getKey(); 
    data[i][1] = entry.getValue().getMyFloat(); 
    i++; 
} 
+0

宾果!就是这样!非常感谢!! –