【发布时间】:2015-02-25 11:55:55
【问题描述】:
我尝试通过数据绑定将 SWT List 的项目绑定到 List
我的模型课:
public class Config extends ModelObject {
private List<String> tagList;
public List<String> getTagList() {
return tagList;
}
public void setTagList(List<String> tagList) {
firePropertyChange("tagList", this.tagList, this.tagList = tagList);
}
}
我的绑定:
...
private List tagList;
...
private void addDataBinding() {
Config config = ConfigHandler.getInstance().getConfig();
DataBindingContext ctx = new DataBindingContext();
IObservableList observableModelTagList = BeanProperties.list(Config.class, "tagList").observe(config);
IObservableList observableWidgetTagList = WidgetProperties.items().observe(tagList);
ctx.bindList(observableWidgetTagList, observableModelTagList);
}
由于没有成功,我尝试使用Converters。
它也不起作用,但至少我可以看到,如果我在tagList 小部件上使用tagList.add(x) 或tagList.setItems(x),则不会触发任何事情(甚至没有调用转换方法)。
所以我猜WidgetProperties.items() 并没有像我预期的那样工作。
我希望每次与项目有关的任何更改都会触发更改,因此在添加、删除和新设置时。
如何将 SWT 列表绑定到模型中的列表属性?
【问题讨论】:
标签: java data-binding eclipse-rcp