package com.hackerdude.swing.picklist.addremove; import java.util.Vector; import javax.swing.AbstractListModel; /** * * This list model represents the picklist choices. * * @author davidm <a href="mailto:david@hackerdude.com">david@hackerdude.com</a> */ public class ChoicesListModel extends AbstractListModel { Vector items = new Vector(); public ChoicesListModel(Vector items) { this.items.addAll(items); } public int getSize() { return items.size(); } public Object getElementAt(int index) { Object item = items.elementAt(index); return item; } public void addElement(Object element) { items.add(element); fireIntervalAdded(this, 0,getSize()); } public Object removeItemAt(int index) { Object result = items.remove(index); fireContentsChanged(this, index-1, index+1); return result; } public Vector removeAllItems() { Vector result = new Vector(items); items.clear(); fireContentsChanged(this, 0,0); return result; } public void addAllItems(Vector items) { int sizeBefore = this.items.size(); this.items.addAll(items); fireContentsChanged(this, sizeBefore,this.items.size()); } }