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