我在 JFrame 中有这个 JList(比如 MyList)。我使用的是 Netbeans6 GUI 生成器,我已经为此列表设置了绑定(bind)。
运行时,绑定(bind)工作正常,并且 MyList 被正确填充。
现在,我正在寻找一种方法,可以通过单击按钮从另一个文本框中向此列表添加更多数据。但是这里存在问题:
如果没有绑定(bind),我会使用“getModel()”函数为 JList 提取 ListModel,并使用“addElement()”向其添加元素。
但是,当我使用 Binding 时。我尝试提取 ListModel 并将其映射到 DefaultListModel 我得到以下异常:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jdesktop.swingbinding.JListBinding$BindingListModel cannot be cast to javax.swing.DefaultListModel
所以我的问题是,如何向已绑定(bind)到其他数据源的 MyList 添加更多元素?
谁有线索? 任何帮助将不胜感激!!
谢谢!
最佳答案
您必须修改 JList 绑定(bind)到的列表。并且这个 List 必须是一个 Observable 列表,以便注册更改。绑定(bind)的要点是您不再操纵组件的模型,而是操纵它们的底层数据类型。
关于Java 使用 BeanBinding Netbeans 更新 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/921324/