[英]How to set the input for the UI part in eclipse e4?
我正在使用eclipse e4應用程序。 我正在使用eventBroker將值從一個部分傳遞到另一部分。 如果打開了許多零件(選項卡種類),如何將值傳遞給當前選定的零件(選項卡)。 ? 我正在使用@UIEventTopic獲取該部件的值。 但是問題是,值被復制到所有選項卡。 換句話說,我試圖在不同的選項卡中顯示不同的JFreechart,但是圖表已復制到先前的選項卡。
誰能建議我一些想法?
提前致謝
事件代理總是廣播到處理該事件的任何事物,您不能使用它來發送特定事件。
如果您在Handler中,則可以在@Execute方法中獲取當前部分,並直接在您的類中設置一個值-類似於:
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart activePart)
{
Object part = activePart.getObject();
if (part instanceof MyClass)
{
((MyClass)part).setValue(xxxx);
}
}
更新:
如果您在另一個零件中,請使用EPartService
獲取活動零件:
@Inject
EPartService partService;
...
MPart activePart = partService.getActivePart();
Object part = activePart.getObject();
if (part instanceof MyClass)
{
((MyClass)part).setValue(xxxx);
}
您也可以使用EPartService.findPart("part id")
查找具有給定id的零件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.