1

サーバーがゲームのリストを送信するゲームロビーを作成しようとしています。新しいゲームがあるたびに、次のコードが実行されます。

    public void setGames(ArrayList<Game> games) {
    if (listModel != null) {
        System.out.println(games.size() + " games");
        listModel.clear();
        int index = 0;
        for (Game game : games) {
            listModel.add(index, game);
            index++;
            System.out.println(index);
        }
    }
    System.out.println(listModel.getSize());
}

ただし、リストにエントリが表示されない場合がありますが、出力には次のように表示されます: 6 games 1 2 3 4 5 6 6

スクリーンショット: スクリーンショットを見る

リストモデルがクリアされたかどうか、エントリが削除されたかどうか、またはリストモデルに何かが起こったかどうかをファイルで確認しましたが、そうではありません...

JList に再描画を追加しても、まだバグが残っています... スクリーンショット: ここに画像の説明を入力

4

1 に答える 1

-1

モデルを変更した後、JList で repaint を呼び出す必要があります。

于 2011-12-13T12:41:35.100 に答える