2014-03-24 45 views
2

我正在使用純eclipse e4應用程序。我創建了一個處理程序和兩個部分。使用處理程序,我選擇了這些文件,並將其顯示在一個名爲「Part A」的部分中。 A部分有一個帶複選框的tableviewer。從表格查看器中選擇特定的文件複選框後,我需要從這些選定的文件中計算出一些值,並在第二部分中以某種圖形的形式顯示它們,例如B部分。我需要B部分中的選定文件,以便可以處理這些文件文件和使用Jfreechart我可以顯示在B部分的圖表。如何在eclipse e4中將值從一個視圖發送到其他視圖?

我的問題是如何將值從部分A傳遞到部分B?

回答

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

相關問題