2016-06-24 7 views
0

Ich versuche, eine JList zu füllen, aber zuerst vorhandene Elemente zu entfernen, um wiederholte Aufzeichnungen zu vermeiden. LlenarGrid diese Methode Aufruf auf einer Schaltfläche, um anzuzeigen, dass Objekte in Arraylist und JList anzuzeigen ist, aber wenn ich 5 Elemente habe und geben Sie zweimal die Schaltfläche Ich bekomme 10 verdoppelt mich, als ob ich das Modell nicht bereinigtSauberes Modell einer JList Java

Ich verlasse meine Methode, wenn ich helfen könnte? oder dass ich falsch mache, Danke

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

Es ist nicht klar, was LlenarGrid ist, oder wenn es ein Tippfehler ist; noch welchen Aufruf die Methode bezeichnet. Bitte lösen Sie diese Probleme, da es sonst schwierig ist zu wissen, was Ihre Frage bedeutet. – AlBlue

+0

LlenarGrid diese Methode Aufruf auf einer Schaltfläche zu zeigen, dass Objekte in Arraylist und JList anzuzeigen ist, aber wenn ich 5 Elemente habe und zweimal die Schaltfläche gebe ich 10 verdoppelt mich, als ob ich nicht das Modell bereinigt –

+1

Für bessere Hilfe früher, Bitte poste ein [mcve] – Frakcool

Antwort

2

Sie müssen das Modell nicht mehrfach auflisten.

Sie können alle Elemente entfernen unter denen Sie bereits tun.

Wie von John Bollinger vorgeschlagen, überprüfen Sie die Personas Liste.

+0

sind richtig, es würde füllen die ArrayList, aber nicht die array.clear(); Danke –