【发布时间】:2014-02-08 01:56:35
【问题描述】:
我创建了一个带有自定义 ListModel 的 jList 来显示一些对象(用户)。我尝试使用 dao 架构。当我使用 des DAO 类将联系人添加到我的集合时,Listmodel 不会更新。似乎列表模型被破坏了。
这是我的带有 customListModel 的 Jlist。
> Service dcs = new DefaultService(MyDao);
> CustomListModel cList = new CustomListModel( dcs );
> list = new JList<>(cList);
> list.addMouseListener(new ContactListItemListener(list,this.dcs));
自定义列表模型:
public class CustomListModel extends DefaultListModel<Contact>{
private ContactService dcs ;
public CustomListModel(ContactService dcs) {
this.dcs = dcs;
}
@Override
public void addListDataListener(ListDataListener arg0) {
// TODO Auto-generated method stub
}
@Override
public Contact getElementAt(int i) {
System.out.println(dcs.list().size()+" Test "+dcs.list()); //just for testing
return dcs.list().get(i);
}
@Override
public int getSize() {
return dcs.list().size();
}
@Override
public void removeListDataListener(ListDataListener arg0) {
// TODO Auto-generated method stub
}
}
在我的听众的 ActionPerformed 中:
public void actionPerformed(ActionEvent e) {
this.dcs.add(new User());
}
执行actionperformed时,新用户被添加到我的用户列表中,但是customListModel没有显示test的消息,似乎customListModel被破坏了。
对不起我的英语不好
【问题讨论】:
-
您需要发布相关代码,没有它无法回答您的问题。
-
定义 - “销毁”
-
投票关闭当前状态下无法回答。请改进。
-
"destroyed" 是什么意思?如果需要帮助,您确实需要查看 cmets 并回答提出的问题
-
“destroyed”是指CustomListModel没有像他在添加用户之前那样在“getElementMethod”中显示“syso”,我的结论是模型ts被破坏了。
标签: java swing jlist defaultlistmodel