package org.hwo.models; import java.util.ArrayList; import java.util.List; import javax.swing.AbstractListModel; public class FlexibleObjectListModel extends AbstractListModel { private List items; public FlexibleObjectListModel() { this.items = new ArrayList(); } @Override public Object getElementAt(int index) { return this.items.get(index); } @Override public int getSize() { return this.items.size(); } public void clear() { this.items.clear(); fireContentsChanged(this, 0, getSize()); } public List getItems() { return items; } public void setItems(List items) { this.items = items; fireContentsChanged(this, 0, getSize()); } public void addItem(T o) { this.items.add(o); fireContentsChanged(this, 0, getSize()); } public void removeItem(T o) { int index = this.items.indexOf(o); this.items.remove(o); fireContentsChanged(this, 0, getSize()); } }