Java 如何将两个场景合并为一个场景?
有没有一种方法可以将两个javaFx场景合并成一个场景(然后将该场景指定给一个舞台),或者同时将两个场景指定给一个舞台,以便它们在舞台上并排出现 目标:我有一个显示计算器的场景,我有一个显示时钟的场景。我想让它们并排(计算器在左边,时钟在右边)在同一个舞台上(不使用场景生成器)Java 如何将两个场景合并为一个场景?,java,user-interface,javafx,scene,pane,Java,User Interface,Javafx,Scene,Pane,有没有一种方法可以将两个javaFx场景合并成一个场景(然后将该场景指定给一个舞台),或者同时将两个场景指定给一个舞台,以便它们在舞台上并排出现 目标:我有一个显示计算器的场景,我有一个显示时钟的场景。我想让它们并排(计算器在左边,时钟在右边)在同一个舞台上(不使用场景生成器) 任何帮助都将不胜感激 是的,您可以在javafx中使用子场景执行此操作, 子场景类似于可以添加到布局中的场景 你可以这样做 @Override public void start(Stage primar
任何帮助都将不胜感激 是的,您可以在javafx中使用子场景执行此操作, 子场景类似于可以添加到布局中的场景 你可以这样做
@Override
public void start(Stage primaryStage) throws Exception {
StackPane layoutOne = new StackPane();
Label labelOne = new Label("One");
layoutOne.getChildren().add(labelOne);
SubScene subSceneOne = new SubScene(layoutOne,300,100);
StackPane layoutTwo = new StackPane();
Label labelTwo = new Label("Two");
layoutTwo.getChildren().add(labelTwo);
SubScene subSceneTwo = new SubScene(layoutTwo,300,100);
VBox root = new VBox(10);
root.setAlignment(Pos.CENTER);
root.getChildren().addAll(subSceneOne,subSceneTwo);
Scene mainScene = new Scene(root,300,210);
primaryStage.setScene(mainScene);
primaryStage.show();
}
希望这就是你想要的,你也可以查看更多的不,一个
舞台
只能有一个场景。您应该将显示每个组件的根节点(即设置为每个场景根的任何组件)放入HBox
,并使用HBox
作为新场景的根节点。如果你能给出一些关于你是如何构造事物的想法,例如,你用什么样的类来表示时钟和计算器,这可能更容易回答。为什么呢?为什么不去掉子场景,只做root.getChildren().addAll(layout1,layout2)代码>?是的,在这种情况下,他确实不需要,因为他可以在同一布局中包括两个场景的父场景,但我在使用3D Api时需要子场景,如果您尝试将2D场景与3D场景相结合,子场景将非常有用,您将需要一个3D子场景(启用深度测试并消除锯齿,如果您愿意的话)然后将其添加到2D场景中的布局中。有人可能会觉得这很有用。