Package javafx.scene

Class Scene

  • All Implemented Interfaces:
    EventTarget

    @DefaultProperty("root")
    public class Scene
    extends Object
    implements EventTarget
    The JavaFX Scene class is the container for all content in a scene graph. The background of the scene is filled as specified by the fill property.

    The application must specify the root Node for the scene graph by setting the root property. If a Group is used as the root, the contents of the scene graph will be clipped by the scene's width and height and changes to the scene's size (if user resizes the stage) will not alter the layout of the scene graph. If a resizable node (layout Region or Control) is set as the root, then the root's size will track the scene's size, causing the contents to be relayed out as necessary.

    The scene's size may be initialized by the application during construction. If no size is specified, the scene will automatically compute its initial size based on the preferred size of its content. If only one dimension is specified, the other dimension is computed using the specified dimension, respecting content bias of a root.

    An application may request depth buffer support or scene anti-aliasing support at the creation of a Scene. A scene with only 2D shapes and without any 3D transforms does not need a depth buffer nor scene anti-aliasing support. A 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 depthTest for more information. A 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. See ConditionalFeature.SCENE3D for more information.

    A default headlight will be added to a scene that contains one or more Shape3D nodes, but no light nodes. This light source is a Color.WHITE PointLight placed at the camera position.

    A Scene may be created and modified on any thread until it is attached to a Window that is showing. After that, it must be modified only on the JavaFX Application Thread. Note that Scene is not thread-safe; modifying a Scene on multiple threads at the same time will lead to unpredictable results and must be avoided.

    The JavaFX Application Thread is created as part of the startup process for the JavaFX runtime. See the Application class and the Platform.startup(Runnable) method for more information.

    Example:

    import javafx.scene.*;
    import javafx.scene.paint.*;
    import javafx.scene.shape.*;
    
    Group root = new Group();
    Scene s = new Scene(root, 300, 300, Color.BLACK);
    
    Rectangle r = new Rectangle(25,25,250,250);
    r.setFill(Color.BLUE);
    
    root.getChildren().add(r);
     
    Since:
    JavaFX 2.0
    • Constructor Detail

      • Scene

        public Scene​(Parent root)
        Creates a Scene for a specific root Node.
        Parameters:
        root - The root node of the scene graph
        Throws:
        NullPointerException - if root is null
      • Scene

        public Scene​(Parent root,
                     double width,
                     double height)
        Creates a Scene for a specific root Node with a specific size.
        Parameters:
        root - The root node of the scene graph
        width - The width of the scene
        height - The height of the scene
        Throws:
        NullPointerException - if root is null
      • Scene

        public Scene​(Parent root,
                     Paint fill)
        Creates a Scene for a specific root Node with a fill.
        Parameters:
        root - The parent
        fill - The fill
        Throws:
        NullPointerException - if root is null
      • Scene

        public Scene​(Parent root,
                     double width,
                     double height,
                     Paint fill)
        Creates a Scene for a specific root Node with a specific size and fill.
        Parameters:
        root - The root node of the scene graph
        width - The width of the scene
        height - The height of the scene
        fill - The fill
        Throws:
        NullPointerException - if root is null
      • Scene

        public Scene​(Parent root,
                     double width,
                     double height,
                     boolean depthBuffer)
        Constructs a scene consisting of a root, with a dimension of width and height, and specifies whether a depth buffer is created for this scene.

        A scene with only 2D shapes and without any 3D transforms does not need a depth buffer. A 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 depthTest for more information.

        Parameters:
        root - The root node of the scene graph
        width - The width of the scene
        height - The height of the scene
        depthBuffer - The depth buffer flag

        The depthBuffer flag is a conditional feature and its default value is false. See ConditionalFeature.SCENE3D for more information.

        Throws:
        NullPointerException - if root is null
        See Also:
        Node.setDepthTest(DepthTest)
      • Scene

        public Scene​(Parent root,
                     double width,
                     double height,
                     boolean depthBuffer,
                     SceneAntialiasing antiAliasing)
        Constructs a scene consisting 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 scene with only 2D shapes and without any 3D transforms does not need a depth buffer nor scene anti-aliasing support. A 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 depthTest for more information. A scene with 3D shapes may enable scene anti-aliasing to improve its rendering quality.

        Parameters:
        root - The root node of the scene graph
        width - The width of the scene
        height - The height of the scene
        depthBuffer - The depth buffer flag
        antiAliasing - The scene anti-aliasing attribute. A value of null is treated as DISABLED.

        The depthBuffer and antiAliasing are conditional features. With the respective default values of: false and SceneAntialiasing.DISABLED. See ConditionalFeature.SCENE3D for more information.

        Throws:
        NullPointerException - if root is null
        Since:
        JavaFX 8.0
        See Also:
        Node.setDepthTest(DepthTest)
    • Method Detail

      • addPreLayoutPulseListener

        public final void addPreLayoutPulseListener​(Runnable r)
        Adds a new scene pre layout pulse listener to this scene. Every time a pulse occurs, this listener will be called on the JavaFX Application Thread directly before the CSS and layout passes, and also before any rendering is done for this frame. This scene pulse listener is suitable for knowing when a scenegraph pulse is happening and also for modifying the scenegraph (as it is called before CSS and layout, so any changes made will be properly styled and positioned). This method must be called on the JavaFX Application thread.
        Parameters:
        r - The Runnable to be called when the pulse occurs.
        Throws:
        IllegalStateException - if this method is called on a thread other than the JavaFX Application Thread.
        NullPointerException - if the provided Runnable is null.
        Since:
        9
      • removePreLayoutPulseListener

        public final void removePreLayoutPulseListener​(Runnable r)
        Removes a previously registered scene pre layout pulse listener from listening to pulses in this scene. This method does nothing if the specified Runnable is not already in the list. This method must be called on the JavaFX Application thread.
        Parameters:
        r - The Runnable that should no longer be called when the pulse occurs for this scene.
        Throws:
        IllegalStateException - if this method is called on a thread other than the JavaFX Application Thread.
        Since:
        9
      • addPostLayoutPulseListener

        public final void addPostLayoutPulseListener​(Runnable r)
        Adds a new scene post layout pulse listener to this scene. Every time a pulse occurs, this listener will be called on the JavaFX Application Thread directly after the CSS and layout passes, but before any rendering is done for this frame. This scene pulse listener is suitable for knowing when a scenegraph pulse is happening, but it is not suited to use cases related to modifying the scenegraph (as it is called after CSS and layout, so any changes will possibly be incorrect until the next pulse is run). An alternative (and better) solution for situations where a scenegraph modification is required to happen is to use either the addPreLayoutPulseListener(Runnable) API or the the AnimationTimer API. This method must be called on the JavaFX Application thread.
        Parameters:
        r - The Runnable to be called when the pulse occurs.
        Throws:
        IllegalStateException - if this method is called on a thread other than the JavaFX Application Thread.
        NullPointerException - if the provided Runnable is null.
        Since:
        9
      • removePostLayoutPulseListener

        public final void removePostLayoutPulseListener​(Runnable r)
        Removes a previously registered scene post layout pulse listener from listening to pulses in this scene. This method does nothing if the specified Runnable is not already in the list. This method must be called on the JavaFX Application thread.
        Parameters:
        r - The Runnable that should no longer be called when the pulse occurs for this scene.
        Throws:
        IllegalStateException - if this method is called on a thread other than the JavaFX Application Thread.
        Since:
        9
      • getWindow

        public final Window getWindow()
        Gets the value of the property window.
        Property description:
        The Window for this Scene
      • disposePeer

        public void disposePeer()
      • getX

        public final double getX()
        Gets the value of the property x.
        Property description:
        The horizontal location of this Scene on the Window.
      • getY

        public final double getY()
        Gets the value of the property y.
        Property description:
        The vertical location of this Scene on the Window.
      • getWidth

        public final double getWidth()
        Gets the value of the property width.
        Property description:
        The width of this Scene
      • getHeight

        public final double getHeight()
        Gets the value of the property height.
        Property description:
        The height of this Scene
      • 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 Scene. If camera is null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to other Scene or SubScene.

        Note: this is a conditional feature. See ConditionalFeature.SCENE3D for 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 Scene. If camera is null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to other Scene or SubScene.

        Note: this is a conditional feature. See ConditionalFeature.SCENE3D for more information.

        Default value:
        null
      • cameraProperty

        public final ObjectProperty<Camera> cameraProperty()
        Specifies the type of camera use for rendering this Scene. If camera is null, a parallel camera is used for rendering. It is illegal to set a camera that belongs to other Scene or SubScene.

        Note: this is a conditional feature. See ConditionalFeature.SCENE3D for more information.

        Default value:
        null
        See Also:
        getCamera(), setCamera(Camera)
      • setFill

        public final void setFill​(Paint value)
        Sets the value of the property fill.
        Property description:
        Defines the background fill of this Scene. Both a null value meaning 'paint no background' and a Paint with transparency are supported. The default fill of the Scene is Color.WHITE, but it is more commonly the case that the initial color shown to users is the background fill of the root node of the Scene, as it typically is stretched to take up all available space in the Scene. The root node of the Scene is given the CSS style class 'root', and the default user agent stylesheets that ship with JavaFX (presently Caspian and Modena) apply styling on to this root style class. In the case of Caspian this does not impact the background fill color of the root node, but in the case of Modena the default fill is set to be a light gray color.
        Default value:
        WHITE
      • getFill

        public final Paint getFill()
        Gets the value of the property fill.
        Property description:
        Defines the background fill of this Scene. Both a null value meaning 'paint no background' and a Paint with transparency are supported. The default fill of the Scene is Color.WHITE, but it is more commonly the case that the initial color shown to users is the background fill of the root node of the Scene, as it typically is stretched to take up all available space in the Scene. The root node of the Scene is given the CSS style class 'root', and the default user agent stylesheets that ship with JavaFX (presently Caspian and Modena) apply styling on to this root style class. In the case of Caspian this does not impact the background fill color of the root node, but in the case of Modena the default fill is set to be a light gray color.
        Default value:
        WHITE
      • fillProperty

        public final ObjectProperty<Paint> fillProperty()
        Defines the background fill of this Scene. Both a null value meaning 'paint no background' and a Paint with transparency are supported. The default fill of the Scene is Color.WHITE, but it is more commonly the case that the initial color shown to users is the background fill of the root node of the Scene, as it typically is stretched to take up all available space in the Scene. The root node of the Scene is given the CSS style class 'root', and the default user agent stylesheets that ship with JavaFX (presently Caspian and Modena) apply styling on to this root style class. In the case of Caspian this does not impact the background fill color of the root node, but in the case of Modena the default fill is set to be a light gray color.
        Default value:
        WHITE
        See Also:
        getFill(), setFill(Paint)
      • setRoot

        public final void setRoot​(Parent value)
        Sets the value of the property root.
        Property description:
        Defines the root Node of the scene graph. If a Group is used as the root, the contents of the scene graph will be clipped by the scene's width and height and changes to the scene's size (if user resizes the stage) will not alter the layout of the scene graph. If a resizable node (layout Region or Control) is set as the root, then the root's size will track the scene's size, causing the contents to be relayed out as necessary. Scene doesn't accept null root.
      • getRoot

        public final Parent getRoot()
        Gets the value of the property root.
        Property description:
        Defines the root Node of the scene graph. If a Group is used as the root, the contents of the scene graph will be clipped by the scene's width and height and changes to the scene's size (if user resizes the stage) will not alter the layout of the scene graph. If a resizable node (layout Region or Control) is set as the root, then the root's size will track the scene's size, causing the contents to be relayed out as necessary. Scene doesn't accept null root.
      • rootProperty

        public final ObjectProperty<Parent> rootProperty()
        Defines the root Node of the scene graph. If a Group is used as the root, the contents of the scene graph will be clipped by the scene's width and height and changes to the scene's size (if user resizes the stage) will not alter the layout of the scene graph. If a resizable node (layout Region or Control) is set as the root, then the root's size will track the scene's size, causing the contents to be relayed out as necessary. Scene doesn't accept null root.
        See Also:
        getRoot(), setRoot(Parent)
      • snapshot

        public WritableImage snapshot​(WritableImage image)
        Takes a snapshot of this scene and returns the rendered image when it is ready. CSS and layout processing will be done for the scene prior to rendering it. The entire destination image is cleared using the fill Paint of this scene. The nodes in the scene are then rendered to the image. The point (0,0) in scene coordinates is mapped to (0,0) in the image. If the image is smaller than the size of the scene, then the rendering will be clipped by the image.

        When taking a snapshot of a scene that is being animated, either explicitly by the application or implicitly (such as chart animation), the snapshot will be rendered based on the state of the scene graph at the moment the snapshot is taken and will not reflect any subsequent animation changes.

        Parameters:
        image - the writable image that will be used to hold the rendered scene. It may be null in which case a new WritableImage will be constructed. If the image is non-null, the scene will be rendered into the existing image. In this case, the width and height of the image determine the area that is rendered instead of the width and height of the scene.
        Returns:
        the rendered image
        Throws:
        IllegalStateException - if this method is called on a thread other than the JavaFX Application Thread.
        Since:
        JavaFX 2.2
      • snapshot

        public void snapshot​(Callback<SnapshotResult,​Void> callback,
                             WritableImage image)
        Takes a snapshot of this scene at the next frame and calls the specified callback method when the image is ready. CSS and layout processing will be done for the scene prior to rendering it. The entire destination image is cleared using the fill Paint of this scene. The nodes in the scene are then rendered to the image. The point (0,0) in scene coordinates is mapped to (0,0) in the image. If the image is smaller than the size of the scene, then the rendering will be clipped by the image.

        This is an asynchronous call, which means that other events or animation might be processed before the scene is rendered. If any such events modify a node in the scene that modification will be reflected in the rendered image (as it will also be reflected in the frame rendered to the Stage).

        When taking a snapshot of a scene that is being animated, either explicitly by the application or implicitly (such as chart animation), the snapshot will be rendered based on the state of the scene graph at the moment the snapshot is taken and will not reflect any subsequent animation changes.

        Parameters:
        callback - a class whose call method will be called when the image is ready. The SnapshotResult that is passed into the call method of the callback will contain the rendered image and the source scene that was rendered. The callback parameter must not be null.
        image - the writable image that will be used to hold the rendered scene. It may be null in which case a new WritableImage will be constructed. If the image is non-null, the scene will be rendered into the existing image. In this case, the width and height of the image determine the area that is rendered instead of the width and height of the scene.
        Throws:
        IllegalStateException - if this method is called on a thread other than the JavaFX Application Thread.
        NullPointerException - if the callback parameter is null.
        Since:
        JavaFX 2.2
      • setCursor

        public final void setCursor​(Cursor value)
        Sets the value of the property cursor.
        Property description:
        Defines the mouse cursor for this Scene.
      • getCursor

        public final Cursor getCursor()
        Gets the value of the property cursor.
        Property description:
        Defines the mouse cursor for this Scene.
      • lookup

        public Node lookup​(String selector)
        Looks for any node within the scene graph based on the specified CSS selector. If more than one node matches the specified selector, this function returns the first of them. If no nodes are found with this id, then null is returned.
        Parameters:
        selector - The css selector to look up
        Returns:
        the Node in the scene which matches the CSS selector, or null if none is found.
      • getStylesheets

        public final ObservableList<String> getStylesheets()
        Gets an observable list of string URLs linking to the stylesheets to use with this scene's contents.

        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.

        
        
         package com.example.javafx.app;
        
         import javafx.application.Application;
         import javafx.scene.Group;
         import javafx.scene.Scene;
         import javafx.stage.Stage;
        
         public class MyApp extends Application {
        
             @Override public void start(Stage stage) {
                 Scene scene = new Scene(new Group());
                 scene.getStylesheets().add("/com/example/javafx/app/mystyles.css");
                 stage.setScene(scene);
                 stage.show();
             }
        
             public static void main(String[] args) {
                 launch(args);
             }
         }
         
        For additional information about using CSS with the scene graph, see the CSS Reference Guide.
        Returns:
        the list of stylesheets to use with this scene
      • getUserAgentStylesheet

        public final String getUserAgentStylesheet()
        Get the URL of the user-agent stylesheet that will be used by this Scene. 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 Scene, 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 Scene 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
      • isDepthBuffer

        public final boolean isDepthBuffer()
        Retrieves the depth buffer attribute for this scene.
        Returns:
        the depth buffer attribute.
      • processKeyEvent

        public void processKeyEvent​(KeyEvent e)
      • getFocusOwner

        public final Node getFocusOwner()
        Gets the value of the property focusOwner.
        Property description:
        The scene's current focus owner node. This node's "focused" variable might be false if this scene has no window, or if the window is inactive (window.focused == false).
        Since:
        JavaFX 2.2
      • focusOwnerProperty

        public final ReadOnlyObjectProperty<Node> focusOwnerProperty()
        The scene's current focus owner node. This node's "focused" variable might be false if this scene has no window, or if the window is inactive (window.focused == false).
        Since:
        JavaFX 2.2
        See Also:
        getFocusOwner()
      • enableInputMethodEvents

        public void enableInputMethodEvents​(boolean enable)
      • setEventDispatcher

        public final void setEventDispatcher​(EventDispatcher value)
        Sets the value of the property eventDispatcher.
        Property description:
        Specifies the event dispatcher for this scene. When replacing the value with a new EventDispatcher, the new dispatcher should forward events to the replaced dispatcher to keep the scene's default event handling behavior.
      • getEventDispatcher

        public final EventDispatcher getEventDispatcher()
        Gets the value of the property eventDispatcher.
        Property description:
        Specifies the event dispatcher for this scene. When replacing the value with a new EventDispatcher, the new dispatcher should forward events to the replaced dispatcher to keep the scene's default event handling behavior.
      • addEventHandler

        public final <T extends Event> void addEventHandler​(EventType<T> eventType,
                                                            EventHandler<? super T> eventHandler)
        Registers an event handler to this scene. The handler is called when the scene receives an Event of the specified type during the bubbling phase of event delivery.
        Type Parameters:
        T - the specific event class of the handler
        Parameters:
        eventType - the type of the events to receive by the handler
        eventHandler - the handler to register
        Throws:
        NullPointerException - if the event type or handler is null
      • removeEventHandler

        public final <T extends Event> void removeEventHandler​(EventType<T> eventType,
                                                               EventHandler<? super T> eventHandler)
        Unregisters a previously registered event handler from this scene. One handler might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the handler.
        Type Parameters:
        T - the specific event class of the handler
        Parameters:
        eventType - the event type from which to unregister
        eventHandler - the handler to unregister
        Throws:
        NullPointerException - if the event type or handler is null
      • addEventFilter

        public final <T extends Event> void addEventFilter​(EventType<T> eventType,
                                                           EventHandler<? super T> eventFilter)
        Registers an event filter to this scene. The filter is called when the scene receives an Event of the specified type during the capturing phase of event delivery.
        Type Parameters:
        T - the specific event class of the filter
        Parameters:
        eventType - the type of the events to receive by the filter
        eventFilter - the filter to register
        Throws:
        NullPointerException - if the event type or filter is null
      • removeEventFilter

        public final <T extends Event> void removeEventFilter​(EventType<T> eventType,
                                                              EventHandler<? super T> eventFilter)
        Unregisters a previously registered event filter from this scene. One filter might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the filter.
        Type Parameters:
        T - the specific event class of the filter
        Parameters:
        eventType - the event type from which to unregister
        eventFilter - the filter to unregister
        Throws:
        NullPointerException - if the event type or filter is null
      • setEventHandler

        protected final <T extends Event> void setEventHandler​(EventType<T> eventType,
                                                               EventHandler<? super T> eventHandler)
        Sets the handler to use for this event type. There can only be one such handler specified at a time. This handler is guaranteed to be called first. This is used for registering the user-defined onFoo event handlers.
        Type Parameters:
        T - the specific event class of the handler
        Parameters:
        eventType - the event type to associate with the given eventHandler
        eventHandler - the handler to register, or null to unregister
        Throws:
        NullPointerException - if the event type is null
      • addMnemonic

        public void addMnemonic​(Mnemonic m)
        Registers the specified mnemonic.
        Parameters:
        m - The mnemonic
      • removeMnemonic

        public void removeMnemonic​(Mnemonic m)
        Unregisters the specified mnemonic.
        Parameters:
        m - The mnemonic
      • buildEventDispatchChain

        public EventDispatchChain buildEventDispatchChain​(EventDispatchChain tail)
        Construct an event dispatch chain for this scene. The event dispatch chain contains all event dispatchers from the stage to this scene.
        Specified by:
        buildEventDispatchChain in interface EventTarget
        Parameters:
        tail - the initial chain to build from
        Returns:
        the resulting event dispatch chain for this scene
      • setOnContextMenuRequested

        public final void setOnContextMenuRequested​(EventHandler<? super ContextMenuEvent> value)
        Sets the value of the property onContextMenuRequested.
        Property description:
        Defines a function to be called when a mouse button has been clicked (pressed and released) on this Scene.
        Since:
        JavaFX 2.1
      • getOnContextMenuRequested

        public final EventHandler<? super ContextMenuEvent> getOnContextMenuRequested()
        Gets the value of the property onContextMenuRequested.
        Property description:
        Defines a function to be called when a mouse button has been clicked (pressed and released) on this Scene.
        Since:
        JavaFX 2.1
      • setOnMouseClicked

        public final void setOnMouseClicked​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMouseClicked.
        Property description:
        Defines a function to be called when a mouse button has been clicked (pressed and released) on this Scene.
      • getOnMouseClicked

        public final EventHandler<? super MouseEvent> getOnMouseClicked()
        Gets the value of the property onMouseClicked.
        Property description:
        Defines a function to be called when a mouse button has been clicked (pressed and released) on this Scene.
      • setOnMouseDragged

        public final void setOnMouseDragged​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMouseDragged.
        Property description:
        Defines a function to be called when a mouse button is pressed on this Scene and then dragged.
      • getOnMouseDragged

        public final EventHandler<? super MouseEvent> getOnMouseDragged()
        Gets the value of the property onMouseDragged.
        Property description:
        Defines a function to be called when a mouse button is pressed on this Scene and then dragged.
      • setOnMouseEntered

        public final void setOnMouseEntered​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMouseEntered.
        Property description:
        Defines a function to be called when the mouse enters this Scene.
      • getOnMouseEntered

        public final EventHandler<? super MouseEvent> getOnMouseEntered()
        Gets the value of the property onMouseEntered.
        Property description:
        Defines a function to be called when the mouse enters this Scene.
      • setOnMouseExited

        public final void setOnMouseExited​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMouseExited.
        Property description:
        Defines a function to be called when the mouse exits this Scene.
      • getOnMouseExited

        public final EventHandler<? super MouseEvent> getOnMouseExited()
        Gets the value of the property onMouseExited.
        Property description:
        Defines a function to be called when the mouse exits this Scene.
      • setOnMouseMoved

        public final void setOnMouseMoved​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMouseMoved.
        Property description:
        Defines a function to be called when mouse cursor moves within this Scene but no buttons have been pushed.
      • getOnMouseMoved

        public final EventHandler<? super MouseEvent> getOnMouseMoved()
        Gets the value of the property onMouseMoved.
        Property description:
        Defines a function to be called when mouse cursor moves within this Scene but no buttons have been pushed.
      • setOnMousePressed

        public final void setOnMousePressed​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMousePressed.
        Property description:
        Defines a function to be called when a mouse button has been pressed on this Scene.
      • getOnMousePressed

        public final EventHandler<? super MouseEvent> getOnMousePressed()
        Gets the value of the property onMousePressed.
        Property description:
        Defines a function to be called when a mouse button has been pressed on this Scene.
      • setOnMouseReleased

        public final void setOnMouseReleased​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onMouseReleased.
        Property description:
        Defines a function to be called when a mouse button has been released on this Scene.
      • getOnMouseReleased

        public final EventHandler<? super MouseEvent> getOnMouseReleased()
        Gets the value of the property onMouseReleased.
        Property description:
        Defines a function to be called when a mouse button has been released on this Scene.
      • setOnDragDetected

        public final void setOnDragDetected​(EventHandler<? super MouseEvent> value)
        Sets the value of the property onDragDetected.
        Property description:
        Defines a function to be called when drag gesture has been detected. This is the right place to start drag and drop operation.
      • getOnDragDetected

        public final EventHandler<? super MouseEvent> getOnDragDetected()
        Gets the value of the property onDragDetected.
        Property description:
        Defines a function to be called when drag gesture has been detected. This is the right place to start drag and drop operation.
      • setOnMouseDragOver

        public final void setOnMouseDragOver​(EventHandler<? super MouseDragEvent> value)
        Sets the value of the property onMouseDragOver.
        Property description:
        Defines a function to be called when a full press-drag-release gesture progresses within this Scene.
        Since:
        JavaFX 2.1
      • getOnMouseDragOver

        public final EventHandler<? super MouseDragEvent> getOnMouseDragOver()
        Gets the value of the property onMouseDragOver.
        Property description:
        Defines a function to be called when a full press-drag-release gesture progresses within this Scene.
        Since:
        JavaFX 2.1
      • setOnMouseDragReleased

        public final void setOnMouseDragReleased​(EventHandler<? super MouseDragEvent> value)
        Sets the value of the property onMouseDragReleased.
        Property description:
        Defines a function to be called when a full press-drag-release gesture ends within this Scene.
        Since:
        JavaFX 2.1
      • getOnMouseDragReleased

        public final EventHandler<? super MouseDragEvent> getOnMouseDragReleased()
        Gets the value of the property onMouseDragReleased.
        Property description:
        Defines a function to be called when a full press-drag-release gesture ends within this Scene.
        Since:
        JavaFX 2.1
      • setOnMouseDragEntered

        public final void setOnMouseDragEntered​(EventHandler<? super MouseDragEvent> value)
        Sets the value of the property onMouseDragEntered.
        Property description:
        Defines a function to be called when a full press-drag-release gesture enters this Scene.
        Since:
        JavaFX 2.1
      • getOnMouseDragEntered

        public final EventHandler<? super MouseDragEvent> getOnMouseDragEntered()
        Gets the value of the property onMouseDragEntered.
        Property description:
        Defines a function to be called when a full press-drag-release gesture enters this Scene.
        Since:
        JavaFX 2.1
      • setOnMouseDragExited

        public final void setOnMouseDragExited​(EventHandler<? super MouseDragEvent> value)
        Sets the value of the property onMouseDragExited.
        Property description:
        Defines a function to be called when a full press-drag-release gesture exits this Scene.
        Since:
        JavaFX 2.1
      • getOnMouseDragExited

        public final EventHandler<? super MouseDragEvent> getOnMouseDragExited()
        Gets the value of the property onMouseDragExited.
        Property description:
        Defines a function to be called when a full press-drag-release gesture exits this Scene.
        Since:
        JavaFX 2.1
      • setOnScrollStarted

        public final void setOnScrollStarted​(EventHandler<? super ScrollEvent> value)
        Sets the value of the property onScrollStarted.
        Property description:
        Defines a function to be called when a scrolling gesture is detected.
        Since:
        JavaFX 2.2
      • getOnScrollStarted

        public final EventHandler<? super ScrollEvent> getOnScrollStarted()
        Gets the value of the property onScrollStarted.
        Property description:
        Defines a function to be called when a scrolling gesture is detected.
        Since:
        JavaFX 2.2
      • setOnScroll

        public final void setOnScroll​(EventHandler<? super ScrollEvent> value)
        Sets the value of the property onScroll.
        Property description:
        Defines a function to be called when user performs a scrolling action.
      • getOnScroll

        public final EventHandler<? super ScrollEvent> getOnScroll()
        Gets the value of the property onScroll.
        Property description:
        Defines a function to be called when user performs a scrolling action.
      • setOnScrollFinished

        public final void setOnScrollFinished​(EventHandler<? super ScrollEvent> value)
        Sets the value of the property onScrollFinished.
        Property description:
        Defines a function to be called when a scrolling gesture ends.
        Since:
        JavaFX 2.2
      • getOnScrollFinished

        public final EventHandler<? super ScrollEvent> getOnScrollFinished()
        Gets the value of the property onScrollFinished.
        Property description:
        Defines a function to be called when a scrolling gesture ends.
        Since:
        JavaFX 2.2
      • setOnRotationStarted

        public final void setOnRotationStarted​(EventHandler<? super RotateEvent> value)
        Sets the value of the property onRotationStarted.
        Property description:
        Defines a function to be called when a rotating gesture is detected.
        Since:
        JavaFX 2.2
      • getOnRotationStarted

        public final EventHandler<? super RotateEvent> getOnRotationStarted()
        Gets the value of the property onRotationStarted.
        Property description:
        Defines a function to be called when a rotating gesture is detected.
        Since:
        JavaFX 2.2
      • setOnRotate

        public final void setOnRotate​(EventHandler<? super RotateEvent> value)
        Sets the value of the property onRotate.
        Property description:
        Defines a function to be called when user performs a rotating action.
        Since:
        JavaFX 2.2
      • getOnRotate

        public final EventHandler<? super RotateEvent> getOnRotate()
        Gets the value of the property onRotate.
        Property description:
        Defines a function to be called when user performs a rotating action.
        Since:
        JavaFX 2.2
      • setOnRotationFinished

        public final void setOnRotationFinished​(EventHandler<? super RotateEvent> value)
        Sets the value of the property onRotationFinished.
        Property description:
        Defines a function to be called when a rotating gesture ends.
        Since:
        JavaFX 2.2
      • getOnRotationFinished

        public final EventHandler<? super RotateEvent> getOnRotationFinished()
        Gets the value of the property onRotationFinished.
        Property description:
        Defines a function to be called when a rotating gesture ends.
        Since:
        JavaFX 2.2
      • setOnZoomStarted

        public final void setOnZoomStarted​(EventHandler<? super ZoomEvent> value)
        Sets the value of the property onZoomStarted.
        Property description:
        Defines a function to be called when a zooming gesture is detected.
        Since:
        JavaFX 2.2
      • getOnZoomStarted

        public final EventHandler<? super ZoomEvent> getOnZoomStarted()
        Gets the value of the property onZoomStarted.
        Property description:
        Defines a function to be called when a zooming gesture is detected.
        Since:
        JavaFX 2.2
      • setOnZoom

        public final void setOnZoom​(EventHandler<? super ZoomEvent> value)
        Sets the value of the property onZoom.
        Property description:
        Defines a function to be called when user performs a zooming action.
        Since:
        JavaFX 2.2
      • getOnZoom

        public final EventHandler<? super ZoomEvent> getOnZoom()
        Gets the value of the property onZoom.
        Property description:
        Defines a function to be called when user performs a zooming action.
        Since:
        JavaFX 2.2
      • setOnZoomFinished

        public final void setOnZoomFinished​(EventHandler<? super ZoomEvent> value)
        Sets the value of the property onZoomFinished.
        Property description:
        Defines a function to be called when a zooming gesture ends.
        Since:
        JavaFX 2.2
      • getOnZoomFinished

        public final EventHandler<? super ZoomEvent> getOnZoomFinished()
        Gets the value of the property onZoomFinished.
        Property description:
        Defines a function to be called when a zooming gesture ends.
        Since:
        JavaFX 2.2
      • setOnSwipeUp

        public final void setOnSwipeUp​(EventHandler<? super SwipeEvent> value)
        Sets the value of the property onSwipeUp.
        Property description:
        Defines a function to be called when an upward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • getOnSwipeUp

        public final EventHandler<? super SwipeEvent> getOnSwipeUp()
        Gets the value of the property onSwipeUp.
        Property description:
        Defines a function to be called when an upward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • setOnSwipeDown

        public final void setOnSwipeDown​(EventHandler<? super SwipeEvent> value)
        Sets the value of the property onSwipeDown.
        Property description:
        Defines a function to be called when an downward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • getOnSwipeDown

        public final EventHandler<? super SwipeEvent> getOnSwipeDown()
        Gets the value of the property onSwipeDown.
        Property description:
        Defines a function to be called when an downward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • setOnSwipeLeft

        public final void setOnSwipeLeft​(EventHandler<? super SwipeEvent> value)
        Sets the value of the property onSwipeLeft.
        Property description:
        Defines a function to be called when an leftward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • getOnSwipeLeft

        public final EventHandler<? super SwipeEvent> getOnSwipeLeft()
        Gets the value of the property onSwipeLeft.
        Property description:
        Defines a function to be called when an leftward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • setOnSwipeRight

        public final void setOnSwipeRight​(EventHandler<? super SwipeEvent> value)
        Sets the value of the property onSwipeRight.
        Property description:
        Defines a function to be called when an rightward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • getOnSwipeRight

        public final EventHandler<? super SwipeEvent> getOnSwipeRight()
        Gets the value of the property onSwipeRight.
        Property description:
        Defines a function to be called when an rightward swipe gesture happens in this scene.
        Since:
        JavaFX 2.2
      • setOnTouchPressed

        public final void setOnTouchPressed​(EventHandler<? super TouchEvent> value)
        Sets the value of the property onTouchPressed.
        Property description:
        Defines a function to be called when a new touch point is pressed.
        Since:
        JavaFX 2.2
      • getOnTouchPressed

        public final EventHandler<? super TouchEvent> getOnTouchPressed()
        Gets the value of the property onTouchPressed.
        Property description:
        Defines a function to be called when a new touch point is pressed.
        Since:
        JavaFX 2.2
      • setOnTouchMoved

        public final void setOnTouchMoved​(EventHandler<? super TouchEvent> value)
        Sets the value of the property onTouchMoved.
        Property description:
        Defines a function to be called when a touch point is moved.
        Since:
        JavaFX 2.2
      • getOnTouchMoved

        public final EventHandler<? super TouchEvent> getOnTouchMoved()
        Gets the value of the property onTouchMoved.
        Property description:
        Defines a function to be called when a touch point is moved.
        Since:
        JavaFX 2.2
      • setOnTouchReleased

        public final void setOnTouchReleased​(EventHandler<? super TouchEvent> value)
        Sets the value of the property onTouchReleased.
        Property description:
        Defines a function to be called when a new touch point is pressed.
        Since:
        JavaFX 2.2
      • getOnTouchReleased

        public final EventHandler<? super TouchEvent> getOnTouchReleased()
        Gets the value of the property onTouchReleased.
        Property description:
        Defines a function to be called when a new touch point is pressed.
        Since:
        JavaFX 2.2
      • setOnTouchStationary

        public final void setOnTouchStationary​(EventHandler<? super TouchEvent> value)
        Sets the value of the property onTouchStationary.
        Property description:
        Defines a function to be called when a touch point stays pressed and still.
        Since:
        JavaFX 2.2
      • getOnTouchStationary

        public final EventHandler<? super TouchEvent> getOnTouchStationary()
        Gets the value of the property onTouchStationary.
        Property description:
        Defines a function to be called when a touch point stays pressed and still.
        Since:
        JavaFX 2.2
      • setOnDragEntered

        public final void setOnDragEntered​(EventHandler<? super DragEvent> value)
        Sets the value of the property onDragEntered.
        Property description:
        * Drag and Drop Handling * *
      • getOnDragEntered

        public final EventHandler<? super DragEvent> getOnDragEntered()
        Gets the value of the property onDragEntered.
        Property description:
        * Drag and Drop Handling * *
      • onDragEnteredProperty

        public final ObjectProperty<EventHandler<? super DragEvent>> onDragEnteredProperty()
        Defines a function to be called when drag gesture enters this Scene.
        Returns:
        function to be called when drag gesture enters this scene
      • setOnDragExited

        public final void setOnDragExited​(EventHandler<? super DragEvent> value)
        Sets the value of the property onDragExited.
        Property description:
        Defines a function to be called when drag gesture exits this Scene.
      • getOnDragExited

        public final EventHandler<? super DragEvent> getOnDragExited()
        Gets the value of the property onDragExited.
        Property description:
        Defines a function to be called when drag gesture exits this Scene.
      • setOnDragOver

        public final void setOnDragOver​(EventHandler<? super DragEvent> value)
        Sets the value of the property onDragOver.
        Property description:
        Defines a function to be called when drag gesture progresses within this Scene.
      • getOnDragOver

        public final EventHandler<? super DragEvent> getOnDragOver()
        Gets the value of the property onDragOver.
        Property description:
        Defines a function to be called when drag gesture progresses within this Scene.
      • setOnDragDropped

        public final void setOnDragDropped​(EventHandler<? super DragEvent> value)
        Sets the value of the property onDragDropped.
        Property description:
        Defines a function to be called when the mouse button is released on this Scene during drag and drop gesture. Transfer of data from the DragEvent's dragboard should happen in this function.
      • getOnDragDropped

        public final EventHandler<? super DragEvent> getOnDragDropped()
        Gets the value of the property onDragDropped.
        Property description:
        Defines a function to be called when the mouse button is released on this Scene during drag and drop gesture. Transfer of data from the DragEvent's dragboard should happen in this function.
      • setOnDragDone

        public final void setOnDragDone​(EventHandler<? super DragEvent> value)
        Sets the value of the property onDragDone.
        Property description:
        Defines a function to be called when this Scene is a drag and drop gesture source after its data has been dropped on a drop target. The transferMode of the event shows what just happened at the drop target. If transferMode has the value MOVE, then the source can clear out its data. Clearing the source's data gives the appropriate appearance to a user that the data has been moved by the drag and drop gesture. A transferMode that has the value NONE indicates that no data was transferred during the drag and drop gesture. Positional data for the DragEvent is invalid. Valid positional data for the DragEvent is presented in the onDragDropped event handler.
      • getOnDragDone

        public final EventHandler<? super DragEvent> getOnDragDone()
        Gets the value of the property onDragDone.
        Property description:
        Defines a function to be called when this Scene is a drag and drop gesture source after its data has been dropped on a drop target. The transferMode of the event shows what just happened at the drop target. If transferMode has the value MOVE, then the source can clear out its data. Clearing the source's data gives the appropriate appearance to a user that the data has been moved by the drag and drop gesture. A transferMode that has the value NONE indicates that no data was transferred during the drag and drop gesture. Positional data for the DragEvent is invalid. Valid positional data for the DragEvent is presented in the onDragDropped event handler.
      • onDragDoneProperty

        public final ObjectProperty<EventHandler<? super DragEvent>> onDragDoneProperty()
        Defines a function to be called when this Scene is a drag and drop gesture source after its data has been dropped on a drop target. The transferMode of the event shows what just happened at the drop target. If transferMode has the value MOVE, then the source can clear out its data. Clearing the source's data gives the appropriate appearance to a user that the data has been moved by the drag and drop gesture. A transferMode that has the value NONE indicates that no data was transferred during the drag and drop gesture. Positional data for the DragEvent is invalid. Valid positional data for the DragEvent is presented in the onDragDropped event handler.
        See Also:
        getOnDragDone(), setOnDragDone(EventHandler)
      • startDragAndDrop

        public Dragboard startDragAndDrop​(TransferMode... transferModes)
        Confirms a potential drag and drop gesture that is recognized over this Scene. Can be called only from a DRAG_DETECTED event handler. The returned Dragboard is used to transfer data during the drag and drop gesture. Placing this Scene's data on the Dragboard also identifies this Scene as the source of the drag and drop gesture. More detail about drag and drop gestures is described in the overivew of DragEvent.
        Parameters:
        transferModes - The supported TransferMode(s) of this Node
        Returns:
        A Dragboard to place this Scene's data on
        Throws:
        IllegalStateException - if drag and drop cannot be started at this moment (it's called outside of DRAG_DETECTED event handling).
        See Also:
        DragEvent
      • startFullDrag

        public void startFullDrag()
        Starts a full press-drag-release gesture with this scene as gesture source. This method can be called only from a DRAG_DETECTED mouse event handler. More detail about dragging gestures can be found in the overview of MouseEvent and MouseDragEvent.
        Throws:
        IllegalStateException - if the full press-drag-release gesture cannot be started at this moment (it's called outside of DRAG_DETECTED event handling).
        Since:
        JavaFX 2.1
        See Also:
        MouseEvent, MouseDragEvent
      • setOnKeyPressed

        public final void setOnKeyPressed​(EventHandler<? super KeyEvent> value)
        Sets the value of the property onKeyPressed.
        Property description:
        Defines a function to be called when some Node of this Scene has input focus and a key has been pressed. The function is called only if the event hasn't been already consumed during its capturing or bubbling phase.
      • getOnKeyPressed

        public final EventHandler<? super KeyEvent> getOnKeyPressed()
        Gets the value of the property onKeyPressed.
        Property description:
        Defines a function to be called when some Node of this Scene has input focus and a key has been pressed. The function is called only if the event hasn't been already consumed during its capturing or bubbling phase.
      • setOnKeyReleased

        public final void setOnKeyReleased​(EventHandler<? super KeyEvent> value)
        Sets the value of the property onKeyReleased.
        Property description:
        Defines a function to be called when some Node of this Scene has input focus and a key has been released. The function is called only if the event hasn't been already consumed during its capturing or bubbling phase.
      • getOnKeyReleased

        public final EventHandler<? super KeyEvent> getOnKeyReleased()
        Gets the value of the property onKeyReleased.
        Property description:
        Defines a function to be called when some Node of this Scene has input focus and a key has been released. The function is called only if the event hasn't been already consumed during its capturing or bubbling phase.
      • setOnKeyTyped

        public final void setOnKeyTyped​(EventHandler<? super KeyEvent> value)
        Sets the value of the property onKeyTyped.
        Property description:
        Defines a function to be called when some Node of this Scene has input focus and a key has been typed. The function is called only if the event hasn't been already consumed during its capturing or bubbling phase.
      • getOnKeyTyped

        public final EventHandler<? super KeyEvent> getOnKeyTyped()
        Gets the value of the property onKeyTyped.
        Property description:
        Defines a function to be called when some Node of this Scene has input focus and a key has been typed. The function is called only if the event hasn't been already consumed during its capturing or bubbling phase.
      • setOnInputMethodTextChanged

        public final void setOnInputMethodTextChanged​(EventHandler<? super InputMethodEvent> value)
        Sets the value of the property onInputMethodTextChanged.
        Property description:
        Defines a function to be called when this Node has input focus and the input method text has changed. If this function is not defined in this Node, then it receives the result string of the input method composition as a series of onKeyTyped function calls.

        When the Node loses the input focus, the JavaFX runtime automatically commits the existing composed text if any.

      • getOnInputMethodTextChanged

        public final EventHandler<? super InputMethodEvent> getOnInputMethodTextChanged()
        Gets the value of the property onInputMethodTextChanged.
        Property description:
        Defines a function to be called when this Node has input focus and the input method text has changed. If this function is not defined in this Node, then it receives the result string of the input method composition as a series of onKeyTyped function calls.

        When the Node loses the input focus, the JavaFX runtime automatically commits the existing composed text if any.

      • onInputMethodTextChangedProperty

        public final ObjectProperty<EventHandler<? super InputMethodEvent>> onInputMethodTextChangedProperty()
        Defines a function to be called when this Node has input focus and the input method text has changed. If this function is not defined in this Node, then it receives the result string of the input method composition as a series of onKeyTyped function calls.

        When the Node loses the input focus, the JavaFX runtime automatically commits the existing composed text if any.

        See Also:
        getOnInputMethodTextChanged(), setOnInputMethodTextChanged(EventHandler)
      • getProperties

        public final ObservableMap<Object,​Object> getProperties()
        Returns an observable map of properties on this node for use primarily by application developers.
        Returns:
        an observable map of properties on this node for use primarily by application developers
        Since:
        JavaFX 8u40
      • hasProperties

        public boolean hasProperties()
        Tests if Scene has properties.
        Returns:
        true if node has properties.
        Since:
        JavaFX 8u40
      • setUserData

        public void setUserData​(Object value)
        Convenience method for setting a single Object property that can be retrieved at a later date. This is functionally equivalent to calling the getProperties().put(Object key, Object value) method. This can later be retrieved by calling getUserData().
        Parameters:
        value - The value to be stored - this can later be retrieved by calling getUserData().
        Since:
        JavaFX 8u40
      • getUserData

        public Object getUserData()
        Returns a previously set Object property, or null if no such property has been set using the setUserData(java.lang.Object) method.
        Returns:
        The Object that was previously set, or null if no property has been set or if null was set.
        Since:
        JavaFX 8u40
      • setNodeOrientation

        public final void setNodeOrientation​(NodeOrientation orientation)
        Sets the value of the property nodeOrientation.
        Property description:
        Property holding NodeOrientation.

        Node orientation describes the flow of visual data within a node. In the English speaking world, visual data normally flows from left-to-right. In an Arabic or Hebrew world, visual data flows from right-to-left. This is consistent with the reading order of text in both worlds. The default value is left-to-right.

        Since:
        JavaFX 8.0
      • getNodeOrientation

        public final NodeOrientation getNodeOrientation()
        Gets the value of the property nodeOrientation.
        Property description:
        Property holding NodeOrientation.

        Node orientation describes the flow of visual data within a node. In the English speaking world, visual data normally flows from left-to-right. In an Arabic or Hebrew world, visual data flows from right-to-left. This is consistent with the reading order of text in both worlds. The default value is left-to-right.

        Since:
        JavaFX 8.0
      • nodeOrientationProperty

        public final ObjectProperty<NodeOrientation> nodeOrientationProperty()
        Property holding NodeOrientation.

        Node orientation describes the flow of visual data within a node. In the English speaking world, visual data normally flows from left-to-right. In an Arabic or Hebrew world, visual data flows from right-to-left. This is consistent with the reading order of text in both worlds. The default value is left-to-right.

        Since:
        JavaFX 8.0
        See Also:
        getNodeOrientation(), setNodeOrientation(NodeOrientation)
      • getEffectiveNodeOrientation

        public final NodeOrientation getEffectiveNodeOrientation()
        Gets the value of the property effectiveNodeOrientation.
        Property description:
        The effective node orientation of a scene resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
        Since:
        JavaFX 8.0