我正在使用我的IDE和Java FX Scene Builder使用JavaFX构建应用程序。
“Scene”对象在扩展Application的类中定义。在这个类的嵌套面板中,我加载另一个.fxml文件。
这个与Java类配对的.fxml文件包含一些我想要显示的形状。
如果我将相机添加到Scene对象,则相机将应用于GUI中的所有面板,菜单和其余元素。我只想将相机应用到包含形状的内部面板,但是当我查找文档时,相机总是被添加到场景中。
这是Application类中的代码,也是我第一次尝试添加摄像头,正如我之前解释的那样,由于摄像头适用于应用程序窗口内的所有内容,因此会产生奇怪的结果:
public void initRootLayout() {
try {
// Load root layout from fxml file.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainApp.class.getResource("view/RootLayout.fxml"));
rootLayout = (BorderPane) loader.load();
// Show the scene containing the root layout.
Scene scene = new Scene(rootLayout);
addCameraAndLights(scene, null);
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:1)
使用SubScene包含3D形状。
SubScene类是场景图中内容的容器。 SubScene提供场景不同部分的分离,每个部分都可以使用不同的摄像机,深度缓冲区或场景抗锯齿进行渲染。 SubScene嵌入到主场景或另一个子场景中。
您可以将子场景中的set a camera与根场景中应用的任何相机分开。
在以下答案中提供了SubScene使用的示例: