Module  javafx.graphics
软件包  javafx.scene

Class SubScene

  • All Implemented Interfaces:
    StyleableEventTarget


    public class SubScene
    extends Node
    SubScene类是场景图中内容的容器。 SubScene提供场景的不同部分的分离,每个场景可以使用不同的相机,深度缓冲区或场景抗锯齿来渲染。 A SubScene嵌入主场景或其他子场景中。

    应用程序可以在创建SubScene请求深度缓冲区支持或场景抗锯齿支持。 只有2D形状和没有任何3D变换的子场景不需要深度缓冲区和场景抗锯齿支持。 包含3D形状或具有3D变换的2D形状的子场景可以使用深度缓冲器支持来进行适当的深度排序渲染; 为了避免深度战斗(也称为Z战斗),禁止没有3D转换的2D形状的深度测试。 有关详细信息,请参阅depthTest 具有3D形状的子场景可以实现场景抗锯齿以提高其渲染质量。

    depthBuffer和antiAliasing标志是条件特征。 各自的默认值为:false和SceneAntialiasing.DISABLED 有关详细信息,请参阅ConditionalFeature.SCENE3D

    可能的用例是:

    • 混合2D和3D内容
    • UI控件的重叠
    • 背景背景
    • 头顶显示

    默认大灯将被添加到一个SubScene包含一个或多个Shape3D节点,但没有光的节点。 这个光源是Color.WHITE PointLight放在相机的位置。

    从以下版本开始:
    JavaFX 8.0
    • 构造方法详细信息

      • SubScene

        public SubScene​(Parent root,
                        double width,
                        double height)
        为特定大小的特定根节点创建一个 SubScene
        参数
        root - 场景图的根节点
        width - 子场景的宽度
        height - 子场景的高度
        异常
        NullPointerException - 如果root为null
      • SubScene

        public SubScene​(Parent root,
                        double width,
                        double height,
                        boolean depthBuffer,
                        SceneAntialiasing antiAliasing)
        构造一个SubScene其中包含宽度和高度的根,指定是否为此场景创建深度缓冲区,并指定是否请求场景抗锯齿。

        只有2D形状和没有任何3D变换的子场景不需要深度缓冲区和场景抗锯齿支持。 包含3D形状或具有3D变换的2D形状的子场景可以使用深度缓冲器支持来进行适当的深度排序渲染; 为了避免深度战斗(也称为Z战斗),禁止没有3D转换的2D形状的深度测试。 有关详细信息,请参阅depthTest 具有3D形状的子场景可以实现场景抗锯齿以提高其渲染质量。

        参数
        root - 场景图的根节点
        width - 子场景的宽度
        height - 子场景的高度
        depthBuffer - 深度缓冲区标志
        antiAliasing - 子场景抗锯齿属性。 null被视为已禁用。

        depthBuffer和antiAliasing标志是条件特征。 各自的默认值为:false和SceneAntialiasing.DISABLED 有关详细信息,请参阅ConditionalFeature.SCENE3D

        异常
        NullPointerException - 如果root为null
        另请参见:
        Node.setDepthTest(DepthTest)
    • 方法详细信息

      • getAntiAliasing

        public final SceneAntialiasing getAntiAliasing​()
        返回定义的SceneAntialiasing为这个SubScene

        注意:这是一个条件功能。 有关详细信息,请参阅ConditionalFeature.SCENE3DSceneAntialiasing

        结果
        这个子场景的SceneAntialiasing
        从以下版本开始:
        JavaFX 8.0
      • isDepthBuffer

        public final boolean isDepthBuffer​()
        检索此 SubScene的深度缓冲区属性。
        结果
        深度缓冲区属性。
      • setRoot

        public final void setRoot​(Parent value)
        设置属性根的值。
        Property description:
        定义SubScene场景图的根Node 如果使用Group作为根,则场景图的内容将被SubScene的宽度和高度裁剪。 SubScene不接受null根。
      • getRoot

        public final Parent getRoot​()
        获取属性根的值。
        Property description:
        定义SubScene场景图的根Node 如果使用Group作为根,则场景图的内容将被SubScene的宽度和高度裁剪。 SubScene不接受null root。
      • rootProperty

        public final ObjectProperty<Parent> rootProperty​()
        定义SubScene场景图的根Node 如果使用Group作为根,则场景图的内容将被SubScene的宽度和高度裁剪。 SubScene不接受null根。
        另请参见:
        getRoot()setRoot(Parent)
      • setCamera

        public final void setCamera​(Camera value)
        设置属性摄像机的值。
        Property description:
        指定用于渲染此SubScene的相机使用类型。 如果camera为空,则使用并行摄像机进行渲染。 设置属于其他SceneSubScene的摄像机是非法的。

        注意:这是一个条件功能。 有关详细信息,请参阅ConditionalFeature.SCENE3D

        Default value:
        空值
      • getCamera

        public final Camera getCamera​()
        获取属性摄像机的值。
        Property description:
        指定用于渲染此SubScene的相机使用类型。 如果camera为空,则使用并行摄像机进行渲染。 设置属于其他SceneSubScene的相机是非法的。

        注意:这是一个条件功能。 有关详细信息,请参阅ConditionalFeature.SCENE3D

        Default value:
        空值
      • cameraProperty

        public final ObjectProperty<Camera> cameraProperty​()
        指定用于渲染SubScene的相机使用类型。 如果camera为空,则使用并行摄像机进行渲染。 设置属于其他SceneSubScene的相机是非法的。

        注意:这是一个条件功能。 详见ConditionalFeature.SCENE3D

        Default value:
        空值
        另请参见:
        getCamera()setCamera(Camera)
      • setWidth

        public final void setWidth​(double value)
        设置属性宽度的值。
        Property description:
        定义这个 SubScene的宽度
        Default value:
        0.0
      • getWidth

        public final double getWidth​()
        获取属性宽度的值。
        Property description:
        定义此宽度 SubScene
        Default value:
        0.0
      • setHeight

        public final void setHeight​(double value)
        设置属性高度的值。
        Property description:
        定义这个 SubScene的高度
        Default value:
        0.0
      • getHeight

        public final double getHeight​()
        获取属性高度的值。
        Property description:
        定义这个 SubScene的高度
        Default value:
        0.0
      • setFill

        public final void setFill​(Paint value)
        设置属性填充的值。
        Property description:
        定义此SubScene的背景填充。 一个null值意味着没有背景和一个Paint与透明度。 默认值为null。
        Default value:
        空值
      • getFill

        public final Paint getFill​()
        获取属性填充的值。
        Property description:
        定义此SubScene的背景填充。 一个null值意味着没有背景和一个Paint具有透明度的支持。 默认值为null。
        Default value:
        空值
      • fillProperty

        public final ObjectProperty<Paint> fillProperty​()
        定义此SubScene的背景填充。 一个null值意味着没有背景和一个Paint与透明度。 默认值为null。
        Default value:
        空值
        另请参见:
        getFill()setFill(Paint)
      • getUserAgentStylesheet

        public final String getUserAgentStylesheet​()
        获取此SubScene将使用的用户代理样式表的URL。 如果未设置URL,则将使用平台默认用户代理样式表。

        有关使用CSS与场景图的其他信息,请参阅CSS Reference Guide

        结果
        该SubScene将使用的用户代理样式表的URL,如果尚未设置,则为null。
        从以下版本开始:
        JavaFX 8u20
      • setUserAgentStylesheet

        public final void setUserAgentStylesheet​(String url)
        设置此SubScene将使用的用户代理样式表的URL代替platform-default用户代理样式表。 如果URL无法解析为有效位置,则将使用平台默认用户代理样式表。

        有关使用CSS与场景图的其他信息,请参阅CSS Reference Guide

        参数
        url - URL是[scheme:] [// authority] [path]形式的分层URI。 如果URL没有[scheme:]组件,则该URL仅被认为是[path]组件。 [path]的任何前导的'/'字符被忽略,并且[path]被视为相对于应用程序的类路径的根的路径。
        从以下版本开始:
        JavaFX 8u20