这个问题可以概括为类通信问题,也许有一个解决方案/模式可以解决这个问题。
我在RCP应用程序中使用eclipse表单,每个表单都有很多部分。
大多数部分是依赖的,即如果用户修改了部分中的某些内容,我想立即在B部分中进行一些更改。我使用侦听器执行此操作,并且我将所有部分代码放在同一个类中,但是有没有办法来传达这些在没有所有代码的情况下进行更改,以便我可以编写更清晰的代码?
答案 0 :(得分:2)
您应该使用Eclipse Databinding来实现控件之间的依赖关系。
例如,以下代码段将复选框的选择状态绑定到文本字段的启用状态
ctx = new DataBindingContext();
ISWTObservableValue observe = WidgetProperties.selection().observe(myCheckBox);
ISWTObservableValue observe2 = WidgetProperties.enabled().observe(myTextField);
ctx.bindValue(observe, observe2)