繁体   English   中英

编辑或刷新JList

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM