java-org.hwo/src/org/hwo/models/FlexibleObjectListModel.java

56 lines
937 B
Java

package org.hwo.models;
import java.util.ArrayList;
import java.util.List;
import javax.swing.AbstractListModel;
public class FlexibleObjectListModel<T> extends AbstractListModel {
private List<T> items;
public FlexibleObjectListModel() {
this.items = new ArrayList<T>();
}
@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<T> getItems() {
return items;
}
public void setItems(List<T> 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());
}
}