【发布时间】:2015-08-10 21:13:55
【问题描述】:
我想在特定窗格中使用来自 tesis-dynaware (https://github.com/tesis-dynaware/graph-editor/wiki/1.%20Getting%20Started) 的图形编辑器。
不幸的是,该模型是一个 JavaFX 区域。有没有办法将 JavaFX 区域嵌入到拆分窗格中? Scene Builder 在 Miscellaneous 下提供了一个 Region,但我无法用数据填充它。我知道没有指定区域以这种方式工作......
编辑: 这是代码,它不显示graphEditor。如果我将它直接放入场景中,它就可以工作。
public class Flowcharteditor extends Application {
@FXML Pane pane = new Pane();
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
GraphEditor graphEditor = new DefaultGraphEditor();
GModel model = GraphFactory.eINSTANCE.createGModel();
graphEditor.setModel(model);
addNodes(model);
Scene scene = new Scene(root);
pane.getChildren().addAll(graphEditor.getView());
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
private GNode createNode() {
GNode node = GraphFactory.eINSTANCE.createGNode();
GConnector input = GraphFactory.eINSTANCE.createGConnector();
GConnector output = GraphFactory.eINSTANCE.createGConnector();
input.setType("left-input");
output.setType("right-output");
node.getConnectors().add(input);
node.getConnectors().add(output);
return node;
}
private void addNodes(GModel model) {
GNode firstNode = createNode();
GNode secondNode = createNode();
firstNode.setX(150);
firstNode.setY(150);
secondNode.setX(400);
secondNode.setY(200);
secondNode.setWidth(200);
secondNode.setHeight(150);
Commands.addNode(model, firstNode);
Commands.addNode(model, secondNode);
}
}
【问题讨论】: