如果你创建自己的ListModel
你应该继承AbstractListModel
,并实现您addElement
方法时,你需要调用一个火 - 方法(用于通知用于更新的用户界面),如:
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(); }
}
是不是这个,例如? http://stackoverflow.com/questions/6420623/how-to-bind-arraylist-to-jlist – woliveirajr