基本上,我想在一个场景中包含多个窗格,并且我可以让每个窗格独立工作。 例如,我想在JavaFX中做类似的事情。
因此,我希望背景场景与StackPane一起用于按钮,并且希望滚动窗格对GUI中的可滚动列表部分起作用。
我看到JavaFX Have multiple Panes in one scene?遇到了与我类似的问题,但我不知道如何在代码中实现它。
VBox root = new VBox();
root.getChildren().addAll(continueGameScreen.getMyNodes());
root.setSpacing(10);
root.setPadding(new Insets(10));
ScrollPane scrollPane = new ScrollPane();
scrollPane.setContent(root);
scrollPane.setPannable(true);
Scene scene = new Scene(root, 1366, 768);
homeStage.setScene(scene);
homeStage.show();
我如何像一个单独的框那样创建一个框,其中只有可滚动列表,并且其外部的按钮被认为是不同的对象,但是在同一场景中。 任何帮助都感激不尽。
如果这与我链接的帖子绝对有关,请提供如何使此GUI正常工作。 谢谢。
答案 0 :(得分:0)
我不确定我是否了解您,但是如果您想在一个场景中使用多个窗格,则还需要向fx:id
分配一个container
,然后将其注入您的控制器。
然后,在您的控制器中,您将必须加载新场景
FXMLLoader loader = new FXMLLoader(getClass().getResource(url));
AnchorPane anchorPane = fxmlLoader.load();
清理您的主容器中的任何东西:
mainContainer.getChildren().clear();
最后,将场景发送到此
mainContainer.getChildren().add(anchorPane);
如果希望新场景获得其父级的宽度和高度,则必须使用
anchorPane.prefWidthProperty().bind(mainContainer.widthProperty());
anchorPane.prefHeightProperty().bind(mainContainer.heightProperty());