- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.SubScene
-
- All Implemented Interfaces:
Styleable,EventTarget
public class SubScene extends Node
TheSubSceneclass is the container for content in a scene graph.SubSceneprovides separation of different parts of a scene, each of which can be rendered with a different camera, depth buffer, or scene anti-aliasing. ASubSceneis embedded into the main scene or another sub-scene.An application may request depth buffer support or scene anti-aliasing support at the creation of a
SubScene. A sub-scene with only 2D shapes and without any 3D transforms does not need a depth buffer nor scene anti-aliasing support. A sub-scene containing 3D shapes or 2D shapes with 3D transforms may use depth buffer support for proper depth sorted rendering; to avoid depth fighting (also known as Z fighting), disable depth testing on 2D shapes that have no 3D transforms. SeedepthTestfor more information. A sub-scene with 3D shapes may enable scene anti-aliasing to improve its rendering quality.The depthBuffer and antiAliasing flags are conditional features. With the respective default values of: false and
SceneAntialiasing.DISABLED. SeeConditionalFeature.SCENE3Dfor more information.Possible use cases are:
- Mixing 2D and 3D content
- Overlay for UI controls
- Underlay for background
- Heads-up display
A default headlight will be added to a
SubScenethat contains one or moreShape3Dnodes, but no light nodes. This light source is aColor.WHITEPointLightplaced at the camera position.- Since:
- JavaFX 8.0
-
-
Property Summary
Properties Type Property Description ObjectProperty<Camera>cameraSpecifies the type of camera use for rendering thisSubScene.ObjectProperty<Paint>fillDefines the background fill of thisSubScene.DoublePropertyheightDefines the height of thisSubSceneObjectProperty<Parent>rootDefines the rootNodeof theSubScenescene graph.ObjectProperty<String>userAgentStylesheetDoublePropertywidthDefines the width of thisSubScene-
Properties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
-
Field Summary
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
Constructor Summary
Constructors Constructor Description SubScene(Parent root, double width, double height)Creates aSubScenefor a specific root Node with a specific size.SubScene(Parent root, double width, double height, boolean depthBuffer, SceneAntialiasing antiAliasing)Constructs aSubSceneconsisting of a root, with a dimension of width and height, specifies whether a depth buffer is created for this scene and specifies whether scene anti-aliasing is requested.
-
Method Summary
Modifier and Type Method Description ObjectProperty<Camera>cameraProperty()Specifies the type of camera use for rendering thisSubScene.ObjectProperty<Paint>fillProperty()Defines the background fill of thisSubScene.SceneAntialiasinggetAntiAliasing()Return the definedSceneAntialiasingfor thisSubScene.CameragetCamera()Gets the value of the property camera.PaintgetFill()Gets the value of the property fill.doublegetHeight()Gets the value of the property height.ParentgetRoot()Gets the value of the property root.StringgetUserAgentStylesheet()Get the URL of the user-agent stylesheet that will be used by this SubScene.doublegetWidth()Gets the value of the property width.DoublePropertyheightProperty()Defines the height of thisSubScenebooleanisDepthBuffer()Retrieves the depth buffer attribute for thisSubScene.ObjectProperty<Parent>rootProperty()Defines the rootNodeof theSubScenescene graph.voidsetCamera(Camera value)Sets the value of the property camera.voidsetFill(Paint value)Sets the value of the property fill.voidsetHeight(double value)Sets the value of the property height.voidsetRoot(Parent value)Sets the value of the property root.voidsetUserAgentStylesheet(String url)Set the URL of the user-agent stylesheet that will be used by this SubScene in place of the the platform-default user-agent stylesheet.voidsetWidth(double value)Sets the value of the property width.ObjectProperty<String>userAgentStylesheetProperty()DoublePropertywidthProperty()Defines the width of thisSubScene-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, maxHeight, maxWidth, minHeight, minWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
root
public final ObjectProperty<Parent> rootProperty
Defines the rootNodeof theSubScenescene graph. If aGroupis used as the root, the contents of the scene graph will be clipped by theSubScene's width and height.SubScenedoesn't accept null root.- See Also:
getRoot(),setRoot(Parent)
-
camera
public final ObjectProperty<Camera> cameraProperty
Specifies the type of camera use for rendering thisSubScene. Ifcamerais null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to otherSceneorSubScene.Note: this is a conditional feature. See
ConditionalFeature.SCENE3Dfor more information.- Default value:
- null
- See Also:
getCamera(),setCamera(Camera)
-
width
public final DoubleProperty widthProperty
Defines the width of thisSubScene- Default value:
- 0.0
- See Also:
getWidth(),setWidth(double)
-
height
public final DoubleProperty heightProperty
Defines the height of thisSubScene- Default value:
- 0.0
- See Also:
getHeight(),setHeight(double)
-
fill
public final ObjectProperty<Paint> fillProperty
Defines the background fill of thisSubScene. Both anullvalue meaning paint no background and aPaintwith transparency are supported. The default value is null.- Default value:
- null
- See Also:
getFill(),setFill(Paint)
-
userAgentStylesheet
public final ObjectProperty<String> userAgentStylesheetProperty
- Since:
- JavaFX 8u20
- See Also:
getUserAgentStylesheet(),setUserAgentStylesheet(String)
-
-
Constructor Detail
-
SubScene
public SubScene(Parent root, double width, double height)
Creates aSubScenefor a specific root Node with a specific size.- Parameters:
root- The root node of the scene graphwidth- The width of the sub-sceneheight- The height of the sub-scene- Throws:
NullPointerException- if root is null
-
SubScene
public SubScene(Parent root, double width, double height, boolean depthBuffer, SceneAntialiasing antiAliasing)
Constructs aSubSceneconsisting of a root, with a dimension of width and height, specifies whether a depth buffer is created for this scene and specifies whether scene anti-aliasing is requested.A sub-scene with only 2D shapes and without any 3D transforms does not need a depth buffer nor scene anti-aliasing support. A sub-scene containing 3D shapes or 2D shapes with 3D transforms may use depth buffer support for proper depth sorted rendering; to avoid depth fighting (also known as Z fighting), disable depth testing on 2D shapes that have no 3D transforms. See
depthTestfor more information. A sub-scene with 3D shapes may enable scene anti-aliasing to improve its rendering quality.- Parameters:
root- The root node of the scene graphwidth- The width of the sub-sceneheight- The height of the sub-scenedepthBuffer- The depth buffer flagantiAliasing- The sub-scene anti-aliasing attribute. A value ofnullis treated as DISABLED.The depthBuffer and antiAliasing flags are conditional features. With the respective default values of: false and
SceneAntialiasing.DISABLED. SeeConditionalFeature.SCENE3Dfor more information.- Throws:
NullPointerException- if root is null- See Also:
Node.setDepthTest(DepthTest)
-
-
Method Detail
-
getAntiAliasing
public final SceneAntialiasing getAntiAliasing()
Return the definedSceneAntialiasingfor thisSubScene.Note: this is a conditional feature. See
ConditionalFeature.SCENE3DandSceneAntialiasingfor more information.- Returns:
- the SceneAntialiasing for this sub-scene
- Since:
- JavaFX 8.0
-
isDepthBuffer
public final boolean isDepthBuffer()
Retrieves the depth buffer attribute for thisSubScene.- Returns:
- the depth buffer attribute.
-
setRoot
public final void setRoot(Parent value)
Sets the value of the property root.- Property description:
- Defines the root
Nodeof theSubScenescene graph. If aGroupis used as the root, the contents of the scene graph will be clipped by theSubScene's width and height.SubScenedoesn't accept null root.
-
getRoot
public final Parent getRoot()
Gets the value of the property root.- Property description:
- Defines the root
Nodeof theSubScenescene graph. If aGroupis used as the root, the contents of the scene graph will be clipped by theSubScene's width and height.SubScenedoesn't accept null root.
-
rootProperty
public final ObjectProperty<Parent> rootProperty()
Defines the rootNodeof theSubScenescene graph. If aGroupis used as the root, the contents of the scene graph will be clipped by theSubScene's width and height.SubScenedoesn't accept null root.- See Also:
getRoot(),setRoot(Parent)
-
setCamera
public final void setCamera(Camera value)
Sets the value of the property camera.- Property description:
- Specifies the type of camera use for rendering this
SubScene. Ifcamerais null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to otherSceneorSubScene.Note: this is a conditional feature. See
ConditionalFeature.SCENE3Dfor more information. - Default value:
- null
-
getCamera
public final Camera getCamera()
Gets the value of the property camera.- Property description:
- Specifies the type of camera use for rendering this
SubScene. Ifcamerais null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to otherSceneorSubScene.Note: this is a conditional feature. See
ConditionalFeature.SCENE3Dfor more information. - Default value:
- null
-
cameraProperty
public final ObjectProperty<Camera> cameraProperty()
Specifies the type of camera use for rendering thisSubScene. Ifcamerais null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to otherSceneorSubScene.Note: this is a conditional feature. See
ConditionalFeature.SCENE3Dfor more information.- Default value:
- null
- See Also:
getCamera(),setCamera(Camera)
-
setWidth
public final void setWidth(double value)
Sets the value of the property width.- Property description:
- Defines the width of this
SubScene - Default value:
- 0.0
-
getWidth
public final double getWidth()
Gets the value of the property width.- Property description:
- Defines the width of this
SubScene - Default value:
- 0.0
-
widthProperty
public final DoubleProperty widthProperty()
Defines the width of thisSubScene- Default value:
- 0.0
- See Also:
getWidth(),setWidth(double)
-
setHeight
public final void setHeight(double value)
Sets the value of the property height.- Property description:
- Defines the height of this
SubScene - Default value:
- 0.0
-
getHeight
public final double getHeight()
Gets the value of the property height.- Property description:
- Defines the height of this
SubScene - Default value:
- 0.0
-
heightProperty
public final DoubleProperty heightProperty()
Defines the height of thisSubScene- Default value:
- 0.0
- See Also:
getHeight(),setHeight(double)
-
setFill
public final void setFill(Paint value)
Sets the value of the property fill.- Property description:
- Defines the background fill of this
SubScene. Both anullvalue meaning paint no background and aPaintwith transparency are supported. The default value is null. - Default value:
- null
-
getFill
public final Paint getFill()
Gets the value of the property fill.- Property description:
- Defines the background fill of this
SubScene. Both anullvalue meaning paint no background and aPaintwith transparency are supported. The default value is null. - Default value:
- null
-
fillProperty
public final ObjectProperty<Paint> fillProperty()
Defines the background fill of thisSubScene. Both anullvalue meaning paint no background and aPaintwith transparency are supported. The default value is null.- Default value:
- null
- See Also:
getFill(),setFill(Paint)
-
userAgentStylesheetProperty
public final ObjectProperty<String> userAgentStylesheetProperty()
- Since:
- JavaFX 8u20
- See Also:
getUserAgentStylesheet(),setUserAgentStylesheet(String)
-
getUserAgentStylesheet
public final String getUserAgentStylesheet()
Get the URL of the user-agent stylesheet that will be used by this SubScene. If the URL has not been set, the platform-default user-agent stylesheet will be used.For additional information about using CSS with the scene graph, see the CSS Reference Guide.
- Returns:
- The URL of the user-agent stylesheet that will be used by this SubScene, or null if has not been set.
- Since:
- JavaFX 8u20
-
setUserAgentStylesheet
public final void setUserAgentStylesheet(String url)
Set the URL of the user-agent stylesheet that will be used by this SubScene in place of the the platform-default user-agent stylesheet. If the URL does not resolve to a valid location, the platform-default user-agent stylesheet will be used.For additional information about using CSS with the scene graph, see the CSS Reference Guide.
- Parameters:
url- The URL is a hierarchical URI of the form [scheme:][//authority][path]. If the URL does not have a [scheme:] component, the URL is considered to be the [path] component only. Any leading '/' character of the [path] is ignored and the [path] is treated as a path relative to the root of the application's classpath.- Since:
- JavaFX 8u20
-
-