Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不同类之间的通信(Eclipse形成节之间的通信)_Java_Swt_Eclipse Rcp - Fatal编程技术网

Java 不同类之间的通信(Eclipse形成节之间的通信)

Java 不同类之间的通信(Eclipse形成节之间的通信),java,swt,eclipse-rcp,Java,Swt,Eclipse Rcp,这个问题可以概括为一个类通信问题,也许有一个解决方案/模式可以解决这个特定的问题 我在RCP应用程序中使用eclipse表单,每个表单都有许多部分 大多数部分都是依赖的,即如果用户修改了A部分中的某些内容,我希望立即在B部分中进行一些更改。我使用侦听器进行此操作,并且所有部分的代码都在同一个类中,但是有没有办法在不将所有代码放在一起的情况下传达这些更改,以便我可以编写更清晰的代码?您应该这样做使用Eclipse数据绑定实现控件之间的依赖关系 例如,以下代码段将复选框的选择状态绑定到文本字段的启用

这个问题可以概括为一个类通信问题,也许有一个解决方案/模式可以解决这个特定的问题

我在RCP应用程序中使用eclipse表单,每个表单都有许多部分


大多数部分都是依赖的,即如果用户修改了A部分中的某些内容,我希望立即在B部分中进行一些更改。我使用侦听器进行此操作,并且所有部分的代码都在同一个类中,但是有没有办法在不将所有代码放在一起的情况下传达这些更改,以便我可以编写更清晰的代码?

您应该这样做使用Eclipse数据绑定实现控件之间的依赖关系

例如,以下代码段将复选框的选择状态绑定到文本字段的启用状态

ctx = new DataBindingContext();
ISWTObservableValue observe = WidgetProperties.selection().observe(myCheckBox);
ISWTObservableValue observe2 =  WidgetProperties.enabled().observe(myTextField);
ctx.bindValue(observe, observe2)

除了选择和启用诸如设置表格查看器数据或文本字段文本等功能外,此框架是否还具有用于更复杂操作的功能?您所说的“更复杂”是什么意思有很多可观察的对象,您可以跟踪控件上的更改,也可以编写自己的可观察对象。此外,您还可以绑定转换器,以便将文本字段的值绑定到节的扩展状态等。。。