Если вы создаете свой собственный ListModel
, вы должны расширить AbstractListModel
, а при реализации метода addElement
вам необходимо вызвать fire -метод (для уведомленияпользовательский интерфейс для обновления), например:
public void addElement(MyObject obj) {
myArrayList.add(obj);
fireIntervalAdded(this, myArrayList.size()-1, myArrayList.size()-1);
}
Ваш пользовательский ListModel должен выглядеть примерно так:
public class MyListModel extends AbstractListModel {
private final ArrayList<MyObject> myArrayList = new ArrayList<MyObject>();
public void addElement(MyObject obj) {
myArrayList.add(obj);
fireIntervalAdded(this, myArrayList.size()-1, myArrayList.size()-1);
}
@Override
public Object getElementAt(int index) { return myArrayList.get(index); }
@Override
public int getSize() { return myArrayList.size(); }
}