我有一個JList
連接到一個集合。 收集更改時,我需要自動刷新JList
。但我可以看到,只有在最小化(或最大化)JFrame
後,我的JList
纔會刷新。Java JList刷新後才能最小化或最大化
爲什麼?
我是新來的Java和我試圖學習。
我有這個集合列表模型:
public class UserCollection extends Vector<User> implements ListModel{
private static final long serialVersionUID = 2668410577023194442L;
@Override
public void addListDataListener(ListDataListener arg0) {
System.out.println("add list! --- " +arg0.toString());
}
@Override
public Object getElementAt(int index) {
return this.get(index).getName();
}
@Override
public int getSize() {
return(this.elementCount);
}
@Override
public void removeListDataListener(ListDataListener arg0) {}
}
在另一類,我填充userList.add(u1);
或userList.remove(u1);
集合中的JFrame
I類有:
JList list = new JList();
list.setModel(xmppManager.userList);
我可以在控制檯上看到更改的集合,如果我最小化了JFrame
和/或最大化,JList
正確刷新...
你是什麼意思的「連接到集合」?關鍵是你如何保持和改變JList的模型?如果您更改適當的模型,則JList應該自動更改。您可能想要顯示代碼。 – 2011-02-11 20:57:55
我更新了代碼...謝謝你,對不起,我是新的Java,我正在努力學習。 – Laphroaig 2011-02-11 21:15:08