2016-06-24 9 views
0

JListを塗りつぶしますが、最初に既存の要素を削除して繰り返しレコードを避けます。 LLenarGridメソッドは、ボタンを呼び出してarraylistとJListにオブジェクトを表示することを示しますが、5つの要素があり、ボタンを2回与えると、あたかもモデルをクリーンアップしなかったかのように10倍になります。JList Javaのクリーンモデル

私の方法、もし私が助けることができますか?または私が間違っている、ありがとう、ありがとう

public void LlenarGrid() 
{ 

    listapersonas.setModel(new DefaultListModel()); 
    DefaultListModel listModel = (DefaultListModel)listapersonas.getModel(); 
    listModel.removeAllElements(); 
    for (clsPersona d : personas) { 
     listModel.addElement(d.RetornaPersona()); 
    } 
    listapersonas.setModel(listModel); 
    listapersonas.clearSelection(); 
} 
+0

LLenarGridが何であるかはっきりしません。メソッドがどのような呼び出しを指しているのかもわかりません。あなたの質問が何を求めているのかを知るのが難しいので、これらの問題を解決してください。 – AlBlue

+0

LLenarGridメソッドは、ボタンを呼び出してarraylistとJListにオブジェクトを表示することを示しますが、5つの要素があり、2回のボタンを与えた場合、モデルをクリーンアップしなかったかのように10倍になります。 –

+1

早く、投稿者:[mcve] – Frakcool

答えて

2

リストを複数回設定する必要はありません。

あなたは既に行っている以下を使ってすべての要素を削除できます。ジョン・ボリンジャーによって示唆されるように

model.removeAllElements(); 

は、ペルソナのリストを確認してください。

+0

は正しいです、それはarrayListを埋めるつもりでしたが、array.clear(); ありがとう –

関連する問題