我有一个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