我一直在学习一些日食数据绑定,将数据从模型绑定到UI相当简单。我想知道的是,是否有某种方法可以将SWT按钮或组合框等上的选择(事件?)绑定到模型上的方法。
我刚刚在窗口代码中使用addSelectionListener
手动创建连接,该连接仅在模型对象上调用该函数。
最佳答案
不,这不对。数据绑定是为了使不同对象之间的值同步。
您可以做的是将小部件的布尔选择状态绑定到模型中的属性(而不是方法)。例如:
// observe the widget
ISWTObservableValue uiObs = WidgetProperties.selection().observe(myButton);
// observe the 'selected' property of 'myObject'
IObservableValue modelObs = BeansObservables.observeValue(myObject, "selected");
// bind
ctx.bindValue(uiObs,modelObs);