如何使JavaFXScrollPane始终填充SWT组合,即使SWT表单已调整大小

如何使JavaFXScrollPane始终填充SWT组合,即使SWT表单已调整大小,javafx,swt,Javafx,Swt,我在SWT组合中嵌入了一个JavaFX滚动窗格,该组合在SWT表单的a侧填充。如何使JavaFXScrollPane始终填充SWT组合,即使SWT表单的大小已经调整 以下是我如何使用FXCanvas保存JavaFX内容的示例: public Control createContents(Composite parent) { final Composite composite = (Composite) super.createContents(parent); compos

我在SWT组合中嵌入了一个JavaFX滚动窗格,该组合在SWT表单的a侧填充。如何使JavaFXScrollPane始终填充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;
}

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


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

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


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

你能发布一个吗?可能与您的问题无关,除非我看到MCVE,但如果您希望组件在JavaFX中自动调整大小,则不应使用
Group
。是的,您是对的。问题是因为我创建了一个组作为根并将其添加到场景中,我应该创建一个VBox作为根并将其添加到场景中?可能与您的问题无关,除非我看到MCVE,但如果您希望组件在JavaFX中自动调整大小,则不应使用
Group
。是的,您是对的。问题是因为我创建了一个组作为根并将其添加到场景中,我应该创建一个VBox作为根并将其添加到场景中。