Question

Hi I have problems with populating a TableModel, I cannot understand what the problem is

here is my method

 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);

    }

Note: with or without the Object casting, the table still doesn't work..

Please suggest any alternative solution to populate a TableModel.

Thanks!!

Was it helpful?

Solution

Every time you call result.iterator() you are reading the beginning of your List. Instead, use this:

for (Player player : result)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top