2013-03-24 92 views
0

您好我有填充一個TableModel的問題,我不明白是什麼問題構建Java的TableModel從結果列表

這裏是我的方法

private TableModel buildTableModel(List<Player> result) { 
     // build the columns 
     Vector<String> columnNames = new Vector<String>(); 
     //int columnCount = metaData.getColumnCount(); 
     //for (int column = 1; column <= columnCount; column++) { 
     // columnNames.add(metaData.getColumnName(column)); 
     //} 

     columnNames.add("playerid"); 
     columnNames.add("squeezePlay"); 
     columnNames.add("weakShowdown"); 
     columnNames.add("numberOfPlays"); 
     columnNames.add("playsWithFriends"); 
     columnNames.add("suspend"); 
     columnNames.add("grade"); 


     // data of the table 
     Vector<Vector<Object>> data = new Vector<Vector<Object>>(); 
     while (result.iterator().hasNext()) { 
      Player player = result.iterator().next(); 

      Vector<Object> vector = new Vector<Object>(); 

      vector.add((Object) player.GetId()); 
      vector.add((Object) player.GetSqueezePlay()); 
      vector.add((Object) player.GetWeakShowdown()); 
      vector.add((Object) player.GetNumberOfPlays()); 
      vector.add((Object) player.GetPlaysWithFriends()); 
      vector.add((Object) player.GetSuspended()); 
      vector.add((Object) player.GetGrade()); 

      data.add(vector); 
     } 

     return new DefaultTableModel(data, columnNames); 

    } 

注意:帶或不帶Object鑄造,表仍然不工作..

請建議任何替代解決方案來填充TableModel。

謝謝!

+1

定義「不起作用」。 – 2013-03-24 22:34:24

+0

Gui在呈現表格時凍結 – nuvio 2013-03-24 23:05:20

回答

4

每次撥打電話result.iterator()即表示您正在閱讀清單的開頭。相反,使用此:

for (Player player : result)