我正在使用纯eclipse e4应用程序。我创建了一个处理程序和两个部分。使用处理程序我选择了文件,并在其中一个部分显示“Part A”。 A部分有一个带复选框的tableviewer。从表查看器复选框中选择特定文件后,我需要从这些选定文件中计算出一些值,并在第二部分的某种图形中显示它们,如B部分所示。我需要在B部分中选择所选文件,以便我可以处理这些文件和使用Jfreechart我可以在B部分显示图表。
我的问题是如何将值从A部分传递给B部分?
答案 0 :(得分:3)
您可以使用e4 Event Broker执行此操作。
在想要发送事件的部分中注入事件代理:
@Inject
private IEventBroker eventBroker;
要异步发送数据,请使用:
eventBroker.post("base_topic/data_event", data);
同步发送使用:
eventBroker.send("base_topic/data_event", data);
在您想要接收数据的部分中使用:
@Inject
@Optional
void dataEvent(@EventTopic("base_topic/data_event") DataType data)
如果您希望在UI线程上接收数据,请使用@UIEventTopic
而不是@EventTopic
。
事件主题名称是你决定的,我刚刚在这里使用了一个例子。
注意:由于这会使用注入,因此代码必须类似于MPart
类(或者您必须自己进行注入)。
更多详情here