[英]Editting or Refreshing JList
我有一个简单的幻灯片程序,在应用程序的左侧,有一个JList
,显示了当前应用程序上的幻灯片。 我可以保存和加载幻灯片。 问题是,当我尝试从XML文件加载幻灯片时,无法删除JList中的所有项目并添加它们。 因为当我通过model.removeAllElements();
删除元素时model.removeAllElements();
然后尝试添加项目;
for(int i=0; i<mL.size(); i++){
model.add(i, "Slide No: " + i);
slideCounter++;
}
然后将调用valueChanged
函数,并且因为我正在该函数的arrayList中获取元素,所以它给出了ArrayIndexOutOfBoundsException
因此,在我的加载方法中,我创建了一个新的空列表(dMode),然后使用以下幻灯片数初始化列表:
list = new JList(dMode);
jScrollPane1 = new JScrollPane(list);
但我无法将新列表分配给当前列表。
您有什么建议,我该如何解决?
谢谢。
我可以实现自己的ListModel ,也可以使用JGoodies Binding将数据绑定到列表。 使用JGoodies时,只要数组内容更改,视图模型就可以触发PropertyChangeEvent
,然后视图将自动更新。 例如
Bindings.bind(myJList, new SelectionInList<String>
(beanAdapter.getValueModel("listContents"),
beanAdapter.getValueModel("listSelection")));
具有视图模型类的视图模型类,该类具有列表内容的属性,并具有当前选择的属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.