如何在Eclipse e4中打开另一个部件

Joh*_*ohn 4 eclipse rcp e4

我正在开发一个e4应用程序.最初我有A部分.我在启动应用程序时显示A部分而B部分不可见.在A部分中,我将显示带链接的HTML页面.当用户点击任何链接时,我需要打开另一个部分,B.这两个部分将同时可见,就像Windows的垂直平铺窗口一样.这该怎么做 ?

gre*_*449 10

如果您的应用程序模型中有零件定义,则可以使用EPartService:

@Inject EPartService partService;

partService.showPart("part id", PartState.ACTIVATE);
Run Code Online (Sandbox Code Playgroud)

无论您将其放置在应用程序模型中,它都将打开该部件.如果您不希望最初显示的零件关闭零件的应用程序模型条目中的"待渲染"标志.

或者,您可以从"零件描述符"创建零件

MPart part = partService.createPart("part descriptor id");
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您需要将零件添加到您的零件堆栈中,然后显示它:

@Inject EModelService modelService;

@Inject MApplication app;

MPartStack partStack = (MPartStack)modelService.find("part stack id", app);

partStack.getChildren().add(part);

partService.showPart(part, PartState.ACTIVATE);
Run Code Online (Sandbox Code Playgroud)