【发布时间】:2014-04-05 09:01:36
【问题描述】:
我有一个应用程序,它使用 javafx 场景来渲染某些东西,我想将该渲染放入我制作的一些 GUI 中,也在 javafx 中。我该怎么做?
基本上有一些容器我可以将场景放入,然后将该容器放入 GUI。
对不起,如果这是一个新手问题,我是 JavaFX 新手
【问题讨论】:
我有一个应用程序,它使用 javafx 场景来渲染某些东西,我想将该渲染放入我制作的一些 GUI 中,也在 javafx 中。我该怎么做?
基本上有一些容器我可以将场景放入,然后将该容器放入 GUI。
对不起,如果这是一个新手问题,我是 JavaFX 新手
【问题讨论】:
Java 8 有一个 SubScene,一些可能的用途(来自 javadoc)是:
SubScene 类是场景图中内容的容器。 SubScene 提供场景不同部分的分离,每个部分 可以使用不同的相机、深度缓冲区或场景进行渲染 抗锯齿。子场景嵌入到主场景或其他场景中 子场景。可能的用例是:
- 混合 2D 和 3D 内容
- UI 控件的叠加层
- 背景底衬
- 平视显示器
子场景只是一个节点,因此您可以将其放置在现有场景的场景图中任意位置。 SubScene 使用的一个例子在答案中:How to create custom 3d model in JavaFX 8?
通常,子场景用于混合 2D 和 3D 内容。如果您不这样做,那么 SubScenes 可能不适用于您的情况,而 Uluk 的答案将更好地满足您的需求。
【讨论】:
场景只有一个顶部父节点作为根。你可以得到它并放到另一个场景中。
((Pane) scene2.getRoot()).getChildren().add(scene1.getRoot());
【讨论】: