forked from LupusNobilis/java-org.hwo.ui
57 lines
937 B
Java
57 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<T> {
|
|
|
|
private List<T> items;
|
|
|
|
public FlexibleObjectListModel() {
|
|
this.items = new ArrayList<T>();
|
|
}
|
|
|
|
@Override
|
|
public T 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());
|
|
}
|
|
|
|
|
|
|
|
}
|