【发布时间】:2017-10-27 11:50:53
【问题描述】:
我想构建基于 GEF5 的句子可视化器,其界面将分为两部分:
- 输入部分 - 您可以在其中放置句子,
- 输出部分,将显示 GEF5 图
组织这些部分的最简单方法是使用 E4 RCP,因为它们可以有单独的 javafx..Panes
这是交易,E4 RCP 使用部件作为分离的 javafx..BorderPanes
public class DictionaryPart {
@PostConstruct
void initUI(BorderPane pane) {
try {
TextArea textbox = new TextArea();
pane.setCenter(textbox);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
然而,GEF5 示例包括使用 javafx..Stage 和 IViewer 接口的简单应用程序实现。
public void start(final Stage primaryStage) throws Exception {
// create graph
graph = createGraph();
// configure application
Injector injector = Guice.createInjector(createModule());
domain = injector.getInstance(IDomain.class);
viewer = domain.getAdapter(
AdapterKey.get(IViewer.class, IDomain.CONTENT_VIEWER_ROLE));
primaryStage.setScene(createScene(viewer));
primaryStage.setResizable(true);
primaryStage.setWidth(getStageWidth());
primaryStage.setHeight(getStageHeight());
primaryStage.setTitle(title);
primaryStage.show();
// activate domain only after viewers have been hooked
domain.activate();
// set contents in the JavaFX application thread because it alters the
// scene graph
Platform.runLater(new Runnable() {
@Override
public void run() {
viewer.getContents().setAll(Collections.singletonList(graph));
}
});
}
protected Scene createScene(IViewer viewer) {
return new Scene(((IViewer) viewer).getCanvas());
}
当我只需要一个窗格时,我的第二堂课中描述 Part 的这段代码会在我的应用程序前面显示 Stage。
我只是不明白如何正确实现 GEF5 到 E4?除了 GEF 文档,还有其他教程吗?
UPD:找到了一个将 GEF4 MVC Logo 示例转换为 e4 RCP 应用程序,但已经过时了。
【问题讨论】:
标签: java javafx eclipse-rcp e4 eclipse-gef