2016-06-24 2 views
0

Я пытаюсь заполнить JList, но сначала удаляю существующие элементы, чтобы избежать повторных записей. LLenarGrid этот метод вызывает кнопку, чтобы показать, что отображать объекты в arraylist и JList, но если у меня есть 5 элементов и дайте дважды кнопку, я получаю 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 элементов и дайте дважды кнопку, я получаю 10 удваивает меня, как если бы я не очистил модель –

+1

Для лучшей помощи раньше, пожалуйста, напишите [mcve] – Frakcool

ответ

2

Вам не нужно устанавливать модель в список несколько раз.

вы можете удалить все элементы, используя ниже, которые вы уже делаете.

model.removeAllElements(); 

Как предложил Джон Боллинджер, проверьте список лиц.

+0

правы, он собирался заполнить массивList, но не дал array.clear(); Спасибо –