如何解决将SWT列表绑定到ArrayList
| 我试图将对象的ArrayList绑定到Java SWT List小部件。这就是我所拥有的: DataBindingContext bindingContext = new DataBindingContext();
//
myModel= new WritableList(buses,MyObject.class);
IObservableList listWidgetobs = SWTObservables.observeItems(listWidget);
bindingContext.bindList(listWidgetobs,myModel,null,null);
//
return bindingContext;
但是以某种方式,它似乎不起作用。我已经尝试了很长时间,但仍然没有运气。这是我第一次尝试用Java进行数据绑定。如何将ArrayList绑定为SWT List小部件的数据提供程序,然后将其绑定到MyObject类中方法调用getName()的值?
谢谢!
解决方法
在您的示例中,模型列表(
myModel
)似乎包含类型为MyObject
的对象。但这是错误的,因为SWTList
的内容列表必须为字符串。
您(至少)有三个选择:
列表中的对象必须为“ 4”类型,因此在创建可观察列表时必须转换对象,或者
您必须在bindingList(...)
中提供UpdateListStrategy
,或者
你用LabelProvider
绑定bind7ѭ
选择取决于“ 1”的对象是否可以动态更改。
我通常会尽可能选择第二个选项,因为除非确实需要,否则我尽量不要将数据绑定和JFace混合使用。替代方法有时可能会得到一些难看的通知/侦听器链...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。