如何使JavaFX ScrollPane始终填充SWT组合,甚至调整SWT表单的大小

时间:2015-09-25 07:49:50

标签: javafx swt

我在SWT复合材料中嵌入了JavaFX ScrollPane,并且复合材料填充在SWT表单的旁边。如何使JavaFX ScrollPane始终填充SWT组合,甚至调整SWT表单的大小。

以下是我如何使用FXCanvas保存JavaFX内容的示例:

  public Control createContents(Composite parent) {
    final Composite composite = (Composite) super.createContents(parent);
    composite.setLayout(new FillLayout());
    // Create a JavaFX canvas
    final FXCanvas fxCanvas = new FXCanvas(composite, SWT.NONE);
    /* Create a JavaFX Group node */
    Group group = new Group();
    start(group);
    fxCanvas.setScene(scene);
    return composite;
}

public void start(final Group stage) {
        Parent zoomPane = createZoomPane(group);
        stage.getChildren().add(zoomPane);
}

private Parent createZoomPane(final Group group) {
        final double SCALE_DELTA = 1.1;
        final StackPane zoomPane = new StackPane();
        zoomPane.getChildren().add(group);

        scroller = new ScrollPane();
        final Group scrollContent = new Group(zoomPane);
        scroller.setContent(scrollContent);
        return scroller;
}

1 个答案:

答案 0 :(得分:0)

在我的实验之后,我自己找到了答案,这实际上是JavaFx的常见问题,与SWT无关。

原因是我创建了一个Group作为根并将其添加到Scene中,我应该创建一个VBox作为根并将其添加到场景中。