如何使JavaFXScrollPane始终填充SWT组合,即使SWT表单已调整大小
我在SWT组合中嵌入了一个JavaFX滚动窗格,该组合在SWT表单的a侧填充。如何使JavaFXScrollPane始终填充SWT组合,即使SWT表单的大小已经调整 以下是我如何使用FXCanvas保存JavaFX内容的示例:如何使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
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作为根并将其添加到场景中。