Ajout d'éléments à une JList de liste de tableaux à l'aide de DefaultListModel

Je suis en train d'ajouter des éléments qui sont dans un ArrayList à un JList qui est quand j'utilise le code suivant:

private void UpdateJList(){
    DefaultListModel<String> model = new DefaultListModel<String>();
    for(Person p : personList){
        model.addElement(p.ToString());
    }
    clientJList.setModel(model);
    clientJList.setSelectedIndex(0);
}

Cependant, Si je déclare le DefaultListModel en dehors de la méthode, l'ajout d'incréments de chaque élément, c'est à dire au lieu d'ajouter une de chaque article, il ajoute plusieurs éléments. Je me demandais juste pourquoi cela se produit?

Vous devez être en cours d'exécution UpdateJList() code deux fois, de sorte que les éléments ajoutés deux fois. Publier vos SSCCE qui montre le problème.
c'est que sur réitéré l'appel de UpdateJList ou tout simplement un appel? peut-être la peine de mettre une bûche dans la méthode pour s'assurer qu'elle est appelée qu'une seule fois. Je suppose que, vous voudrez peut-être faire une .clear() sur le modèle au début du modèle, étant donné que vous l'utilisez comme un niveau de classe var.
Merci monsieur 🙂 compensation le modèle résolu le problème 🙂
s'il vous plaît apprendre conventions de nommage java et de s'y tenir

OriginalL'auteur Ari | 2011-11-24