使用BeanBinding Netbeans更新Java JList

使用BeanBinding Netbeans更新Java JList,java,netbeans,binding,jlist,classcastexception,Java,Netbeans,Binding,Jlist,Classcastexception,我在JFrame中有这个JList(比如MyList)。我正在使用NetBeans6GUI构建器,我已经为这个列表设置了一个绑定 运行时,绑定工作正常,MyList填充正确 现在,我要寻找的是一种方法,通过点击按钮从另一个文本框向列表中添加更多数据。但问题存在于此: 没有绑定我将使用“getModel()”函数提取JList的ListModel,并使用“addElement()”向其添加元素 但是,当我使用绑定时。我尝试提取ListModel并将其映射到DefaultListModel,我得到以

我在JFrame中有这个JList(比如MyList)。我正在使用NetBeans6GUI构建器,我已经为这个列表设置了一个绑定

运行时,绑定工作正常,MyList填充正确

现在,我要寻找的是一种方法,通过点击按钮从另一个文本框向列表中添加更多数据。但问题存在于此:

没有绑定我将使用“getModel()”函数提取JList的ListModel,并使用“addElement()”向其添加元素

但是,当我使用绑定时。我尝试提取ListModel并将其映射到DefaultListModel,我得到以下异常:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jdesktop.swingbinding.JListBinding$BindingListModel cannot be cast to javax.swing.DefaultListModel
所以我的问题是,如何向MyList中添加更多已经绑定到其他数据源的元素

有人有线索吗? 任何帮助都将不胜感激


谢谢

您必须修改JList绑定到的列表。该列表必须是一个可观察列表,以便登记变更。绑定的意义在于,您不再操纵组件的模型,而是操纵它们的底层数据类型。

谢谢您的回复!我问这个问题已经有一段时间了,并且已经解决了这个问题。但是对于其他面临同样问题的人来说,这个答案对我来说是有意义的!我还没试过,但应该是这样的!谢谢