java在Eclipse4中单击最后一个部件(选项卡)时动态创建部件
我在partstack中创建了两个零件。所有部分使用相同的贡献uri。我需要一个第三部分说“添加新零件”(或标签)点击时,它必须动态创建一个新零件,并在前两个零件之后进行安排,然后再次“添加新零件”的零件必须在最后出现。因此,无论何时单击“添加新零件”,都必须创建新零件。 为“添加新零件”零件添加以下代码
MPart part = partService.createPart("com.abc.xyz.project.partDescriptor.DynamicPart");
MPartStack stack = (MPartStack)modelService.find("com.abc.xyz.project.partstack.2", application);
stack.getChildren().add(part);
part.setLabel("New Dynamic Part");
part.setVisible(true);
part.setCloseable(true);
partService.showPart(part, PartState.ACTIVATE);
谁能给我提些建议吗
提前谢谢
# 1 楼答案
动态创建“添加新零件”,如示例所示(示例用于输入零件):
“不ndleclass://your.plugin/your.class是对类的引用,用于引用部件的内容。它类似于“类URI”“片段编辑器中的字段。上面的代码向零件堆栈添加了一个新选项卡,但没有激活零件,因此不会调用内容类中的@Postconstruct方法。当用户单击选项卡时,将调用@Postconstruct方法。您可以在那里再次创建新零件。”
# 2 楼答案
在应用程序模型中创建零件描述符,描述要添加的零件
使用
EPartService
创建零件:将创建的部分添加到应用程序模型上定义的
MPartStack
,您可以使用EModelService
找到堆栈如果要从描述创建多个零件,请确保选中零件描述定义中的
Multiple
选项