2013-03-24 71 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)