Scene (JavaFX 17)

Module javafx.graphics
Package javafx.scene

## Class Scene

- java.lang.Object
- - javafx.scene.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

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ObjectProperty<Camera>` | `camera` | Specifies the type of camera use for rendering this `Scene`.
    `ObjectProperty<Cursor>` | `cursor` | Defines the mouse cursor for this `Scene`.
    `ReadOnlyObjectProperty<NodeOrientation>` | `effectiveNodeOrientation` | The effective node orientation of a scene resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
    `ObjectProperty<EventDispatcher>` | `eventDispatcher` | Specifies the event dispatcher for this scene.
    `ObjectProperty<Paint>` | `fill` | Defines the background fill of this `Scene`.
    `ReadOnlyObjectProperty<Node>` | `focusOwner` | The scene's current focus owner node.
    `ReadOnlyDoubleProperty` | `height` | The height of this `Scene`
    `ObjectProperty<NodeOrientation>` | `nodeOrientation` | Property holding NodeOrientation.
    `ObjectProperty<EventHandler<? super ContextMenuEvent>>` | `onContextMenuRequested` | Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onDragDetected` | Defines a function to be called when drag gesture has been detected.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragDone` | 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.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragDropped` | Defines a function to be called when the mouse button is released on this `Scene` during drag and drop gesture.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragEntered` | Defines a function to be called when drag gesture enters this `Scene`.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragExited` | Defines a function to be called when drag gesture exits this `Scene`.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragOver` | Defines a function to be called when drag gesture progresses within this `Scene`.
    `ObjectProperty<EventHandler<? super InputMethodEvent>>` | `onInputMethodTextChanged` | Defines a function to be called when this `Node` has input focus and the input method text has changed.
    `ObjectProperty<EventHandler<? super KeyEvent>>` | `onKeyPressed` | Defines a function to be called when some `Node` of this `Scene` has input focus and a key has been pressed.
    `ObjectProperty<EventHandler<? super KeyEvent>>` | `onKeyReleased` | Defines a function to be called when some `Node` of this `Scene` has input focus and a key has been released.
    `ObjectProperty<EventHandler<? super KeyEvent>>` | `onKeyTyped` | Defines a function to be called when some `Node` of this `Scene` has input focus and a key has been typed.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseClicked` | Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragEntered` | Defines a function to be called when a full press-drag-release gesture enters this `Scene`.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragExited` | Defines a function to be called when a full press-drag-release gesture exits this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseDragged` | Defines a function to be called when a mouse button is pressed on this `Scene` and then dragged.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragOver` | Defines a function to be called when a full press-drag-release gesture progresses within this `Scene`.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragReleased` | Defines a function to be called when a full press-drag-release gesture ends within this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseEntered` | Defines a function to be called when the mouse enters this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseExited` | Defines a function to be called when the mouse exits this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseMoved` | Defines a function to be called when mouse cursor moves within this `Scene` but no buttons have been pushed.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMousePressed` | Defines a function to be called when a mouse button has been pressed on this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseReleased` | Defines a function to be called when a mouse button has been released on this `Scene`.
    `ObjectProperty<EventHandler<? super RotateEvent>>` | `onRotate` | Defines a function to be called when user performs a rotating action.
    `ObjectProperty<EventHandler<? super RotateEvent>>` | `onRotationFinished` | Defines a function to be called when a rotating gesture ends.
    `ObjectProperty<EventHandler<? super RotateEvent>>` | `onRotationStarted` | Defines a function to be called when a rotating gesture is detected.
    `ObjectProperty<EventHandler<? super ScrollEvent>>` | `onScrollFinished` | Defines a function to be called when a scrolling gesture ends.
    `ObjectProperty<EventHandler<? super ScrollEvent>>` | `onScroll` | Defines a function to be called when user performs a scrolling action.
    `ObjectProperty<EventHandler<? super ScrollEvent>>` | `onScrollStarted` | Defines a function to be called when a scrolling gesture is detected.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeDown` | Defines a function to be called when an downward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeLeft` | Defines a function to be called when an leftward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeRight` | Defines a function to be called when an rightward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeUp` | Defines a function to be called when an upward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchMoved` | Defines a function to be called when a touch point is moved.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchPressed` | Defines a function to be called when a new touch point is pressed.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchReleased` | Defines a function to be called when a new touch point is pressed.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchStationary` | Defines a function to be called when a touch point stays pressed and still.
    `ObjectProperty<EventHandler<? super ZoomEvent>>` | `onZoomFinished` | Defines a function to be called when a zooming gesture ends.
    `ObjectProperty<EventHandler<? super ZoomEvent>>` | `onZoom` | Defines a function to be called when user performs a zooming action.
    `ObjectProperty<EventHandler<? super ZoomEvent>>` | `onZoomStarted` | Defines a function to be called when a zooming gesture is detected.
    `ObjectProperty<Parent>` | `root` | Defines the root `Node` of the scene graph.
    `ObjectProperty<String>` | `userAgentStylesheet` |
    `ReadOnlyDoubleProperty` | `width` | The width of this `Scene`
    `ReadOnlyObjectProperty<Window>` | `window` | The `Window` for this `Scene`
    `ReadOnlyDoubleProperty` | `x` | The horizontal location of this `Scene` on the `Window`.
    `ReadOnlyDoubleProperty` | `y` | The vertical location of this `Scene` on the `Window`.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Scene​(Parent root)` | Creates a Scene for a specific root Node.
    `Scene​(Parent root, double width, double height)` | Creates a Scene for a specific root Node with a specific size.
    `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.
    `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.
    `Scene​(Parent root, double width, double height, Paint fill)` | Creates a Scene for a specific root Node with a specific size and fill.
    `Scene​(Parent root, Paint fill)` | Creates a Scene for a specific root Node with a fill.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends Event> void` | `addEventFilter​(EventType<T> eventType, EventHandler<? super T> eventFilter)` | Registers an event filter to this scene.
    `<T extends Event> void` | `addEventHandler​(EventType<T> eventType, EventHandler<? super T> eventHandler)` | Registers an event handler to this scene.
    `void` | `addMnemonic​(Mnemonic m)` | Registers the specified mnemonic.
    `void` | `addPostLayoutPulseListener​(Runnable r)` | Adds a new scene post layout pulse listener to this scene.
    `void` | `addPreLayoutPulseListener​(Runnable r)` | Adds a new scene pre layout pulse listener to this scene.
    `EventDispatchChain` | `buildEventDispatchChain​(EventDispatchChain tail)` | Construct an event dispatch chain for this scene.
    `ObjectProperty<Camera>` | `cameraProperty()` | Specifies the type of camera use for rendering this `Scene`.
    `ObjectProperty<Cursor>` | `cursorProperty()` | Defines the mouse cursor for this `Scene`.
    `void` | `disposePeer()` | Deprecated, for removal: This API element is subject to removal in a future version. This method was exposed erroneously and will be removed in a future version.
    `ReadOnlyObjectProperty<NodeOrientation>` | `effectiveNodeOrientationProperty()` | The effective node orientation of a scene resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
    `void` | `enableInputMethodEvents​(boolean enable)` | Deprecated, for removal: This API element is subject to removal in a future version. This method was exposed erroneously and will be removed in a future version.
    `ObjectProperty<EventDispatcher>` | `eventDispatcherProperty()` | Specifies the event dispatcher for this scene.
    `ObjectProperty<Paint>` | `fillProperty()` | Defines the background fill of this `Scene`.
    `ReadOnlyObjectProperty<Node>` | `focusOwnerProperty()` | The scene's current focus owner node.
    `ObservableMap<KeyCombination,​Runnable>` | `getAccelerators()` | Gets the list of accelerators for this `Scene`.
    `SceneAntialiasing` | `getAntiAliasing()` | Return the defined `SceneAntialiasing` for this `Scene`.
    `Camera` | `getCamera()` | Gets the value of the property camera.
    `Cursor` | `getCursor()` | Gets the value of the property cursor.
    `NodeOrientation` | `getEffectiveNodeOrientation()` | Gets the value of the property effectiveNodeOrientation.
    `EventDispatcher` | `getEventDispatcher()` | Gets the value of the property eventDispatcher.
    `Paint` | `getFill()` | Gets the value of the property fill.
    `Node` | `getFocusOwner()` | Gets the value of the property focusOwner.
    `double` | `getHeight()` | Gets the value of the property height.
    `ObservableMap<KeyCombination,​ObservableList<Mnemonic>>` | `getMnemonics()` | Gets the list of mnemonics for this `Scene`.
    `NodeOrientation` | `getNodeOrientation()` | Gets the value of the property nodeOrientation.
    `EventHandler<? super ContextMenuEvent>` | `getOnContextMenuRequested()` | Gets the value of the property onContextMenuRequested.
    `EventHandler<? super MouseEvent>` | `getOnDragDetected()` | Gets the value of the property onDragDetected.
    `EventHandler<? super DragEvent>` | `getOnDragDone()` | Gets the value of the property onDragDone.
    `EventHandler<? super DragEvent>` | `getOnDragDropped()` | Gets the value of the property onDragDropped.
    `EventHandler<? super DragEvent>` | `getOnDragEntered()` | Gets the value of the property onDragEntered.
    `EventHandler<? super DragEvent>` | `getOnDragExited()` | Gets the value of the property onDragExited.
    `EventHandler<? super DragEvent>` | `getOnDragOver()` | Gets the value of the property onDragOver.
    `EventHandler<? super InputMethodEvent>` | `getOnInputMethodTextChanged()` | Gets the value of the property onInputMethodTextChanged.
    `EventHandler<? super KeyEvent>` | `getOnKeyPressed()` | Gets the value of the property onKeyPressed.
    `EventHandler<? super KeyEvent>` | `getOnKeyReleased()` | Gets the value of the property onKeyReleased.
    `EventHandler<? super KeyEvent>` | `getOnKeyTyped()` | Gets the value of the property onKeyTyped.
    `EventHandler<? super MouseEvent>` | `getOnMouseClicked()` | Gets the value of the property onMouseClicked.
    `EventHandler<? super MouseDragEvent>` | `getOnMouseDragEntered()` | Gets the value of the property onMouseDragEntered.
    `EventHandler<? super MouseDragEvent>` | `getOnMouseDragExited()` | Gets the value of the property onMouseDragExited.
    `EventHandler<? super MouseEvent>` | `getOnMouseDragged()` | Gets the value of the property onMouseDragged.
    `EventHandler<? super MouseDragEvent>` | `getOnMouseDragOver()` | Gets the value of the property onMouseDragOver.
    `EventHandler<? super MouseDragEvent>` | `getOnMouseDragReleased()` | Gets the value of the property onMouseDragReleased.
    `EventHandler<? super MouseEvent>` | `getOnMouseEntered()` | Gets the value of the property onMouseEntered.
    `EventHandler<? super MouseEvent>` | `getOnMouseExited()` | Gets the value of the property onMouseExited.
    `EventHandler<? super MouseEvent>` | `getOnMouseMoved()` | Gets the value of the property onMouseMoved.
    `EventHandler<? super MouseEvent>` | `getOnMousePressed()` | Gets the value of the property onMousePressed.
    `EventHandler<? super MouseEvent>` | `getOnMouseReleased()` | Gets the value of the property onMouseReleased.
    `EventHandler<? super RotateEvent>` | `getOnRotate()` | Gets the value of the property onRotate.
    `EventHandler<? super RotateEvent>` | `getOnRotationFinished()` | Gets the value of the property onRotationFinished.
    `EventHandler<? super RotateEvent>` | `getOnRotationStarted()` | Gets the value of the property onRotationStarted.
    `EventHandler<? super ScrollEvent>` | `getOnScroll()` | Gets the value of the property onScroll.
    `EventHandler<? super ScrollEvent>` | `getOnScrollFinished()` | Gets the value of the property onScrollFinished.
    `EventHandler<? super ScrollEvent>` | `getOnScrollStarted()` | Gets the value of the property onScrollStarted.
    `EventHandler<? super SwipeEvent>` | `getOnSwipeDown()` | Gets the value of the property onSwipeDown.
    `EventHandler<? super SwipeEvent>` | `getOnSwipeLeft()` | Gets the value of the property onSwipeLeft.
    `EventHandler<? super SwipeEvent>` | `getOnSwipeRight()` | Gets the value of the property onSwipeRight.
    `EventHandler<? super SwipeEvent>` | `getOnSwipeUp()` | Gets the value of the property onSwipeUp.
    `EventHandler<? super TouchEvent>` | `getOnTouchMoved()` | Gets the value of the property onTouchMoved.
    `EventHandler<? super TouchEvent>` | `getOnTouchPressed()` | Gets the value of the property onTouchPressed.
    `EventHandler<? super TouchEvent>` | `getOnTouchReleased()` | Gets the value of the property onTouchReleased.
    `EventHandler<? super TouchEvent>` | `getOnTouchStationary()` | Gets the value of the property onTouchStationary.
    `EventHandler<? super ZoomEvent>` | `getOnZoom()` | Gets the value of the property onZoom.
    `EventHandler<? super ZoomEvent>` | `getOnZoomFinished()` | Gets the value of the property onZoomFinished.
    `EventHandler<? super ZoomEvent>` | `getOnZoomStarted()` | Gets the value of the property onZoomStarted.
    `ObservableMap<Object,​Object>` | `getProperties()` | Returns an observable map of properties on this node for use primarily by application developers.
    `Parent` | `getRoot()` | Gets the value of the property root.
    `ObservableList<String>` | `getStylesheets()` | Gets an observable list of string URLs linking to the stylesheets to use with this scene's contents.
    `String` | `getUserAgentStylesheet()` | Get the URL of the user-agent stylesheet that will be used by this Scene.
    `Object` | `getUserData()` | Returns a previously set Object property, or null if no such property has been set using the `setUserData(java.lang.Object)` method.
    `double` | `getWidth()` | Gets the value of the property width.
    `Window` | `getWindow()` | Gets the value of the property window.
    `double` | `getX()` | Gets the value of the property x.
    `double` | `getY()` | Gets the value of the property y.
    `boolean` | `hasProperties()` | Tests if Scene has properties.
    `ReadOnlyDoubleProperty` | `heightProperty()` | The height of this `Scene`
    `boolean` | `isDepthBuffer()` | Retrieves the depth buffer attribute for this scene.
    `Node` | `lookup​(String selector)` | Looks for any node within the scene graph based on the specified CSS selector.
    `ObjectProperty<NodeOrientation>` | `nodeOrientationProperty()` | Property holding NodeOrientation.
    `ObjectProperty<EventHandler<? super ContextMenuEvent>>` | `onContextMenuRequestedProperty()` | Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onDragDetectedProperty()` | Defines a function to be called when drag gesture has been detected.
    `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.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragDroppedProperty()` | Defines a function to be called when the mouse button is released on this `Scene` during drag and drop gesture.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragEnteredProperty()` | Defines a function to be called when drag gesture enters this `Scene`.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragExitedProperty()` | Defines a function to be called when drag gesture exits this `Scene`.
    `ObjectProperty<EventHandler<? super DragEvent>>` | `onDragOverProperty()` | Defines a function to be called when drag gesture progresses within this `Scene`.
    `ObjectProperty<EventHandler<? super InputMethodEvent>>` | `onInputMethodTextChangedProperty()` | Defines a function to be called when this `Node` has input focus and the input method text has changed.
    `ObjectProperty<EventHandler<? super KeyEvent>>` | `onKeyPressedProperty()` | Defines a function to be called when some `Node` of this `Scene` has input focus and a key has been pressed.
    `ObjectProperty<EventHandler<? super KeyEvent>>` | `onKeyReleasedProperty()` | Defines a function to be called when some `Node` of this `Scene` has input focus and a key has been released.
    `ObjectProperty<EventHandler<? super KeyEvent>>` | `onKeyTypedProperty()` | Defines a function to be called when some `Node` of this `Scene` has input focus and a key has been typed.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseClickedProperty()` | Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragEnteredProperty()` | Defines a function to be called when a full press-drag-release gesture enters this `Scene`.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragExitedProperty()` | Defines a function to be called when a full press-drag-release gesture exits this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseDraggedProperty()` | Defines a function to be called when a mouse button is pressed on this `Scene` and then dragged.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragOverProperty()` | Defines a function to be called when a full press-drag-release gesture progresses within this `Scene`.
    `ObjectProperty<EventHandler<? super MouseDragEvent>>` | `onMouseDragReleasedProperty()` | Defines a function to be called when a full press-drag-release gesture ends within this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseEnteredProperty()` | Defines a function to be called when the mouse enters this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseExitedProperty()` | Defines a function to be called when the mouse exits this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseMovedProperty()` | Defines a function to be called when mouse cursor moves within this `Scene` but no buttons have been pushed.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMousePressedProperty()` | Defines a function to be called when a mouse button has been pressed on this `Scene`.
    `ObjectProperty<EventHandler<? super MouseEvent>>` | `onMouseReleasedProperty()` | Defines a function to be called when a mouse button has been released on this `Scene`.
    `ObjectProperty<EventHandler<? super RotateEvent>>` | `onRotateProperty()` | Defines a function to be called when user performs a rotating action.
    `ObjectProperty<EventHandler<? super RotateEvent>>` | `onRotationFinishedProperty()` | Defines a function to be called when a rotating gesture ends.
    `ObjectProperty<EventHandler<? super RotateEvent>>` | `onRotationStartedProperty()` | Defines a function to be called when a rotating gesture is detected.
    `ObjectProperty<EventHandler<? super ScrollEvent>>` | `onScrollFinishedProperty()` | Defines a function to be called when a scrolling gesture ends.
    `ObjectProperty<EventHandler<? super ScrollEvent>>` | `onScrollProperty()` | Defines a function to be called when user performs a scrolling action.
    `ObjectProperty<EventHandler<? super ScrollEvent>>` | `onScrollStartedProperty()` | Defines a function to be called when a scrolling gesture is detected.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeDownProperty()` | Defines a function to be called when an downward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeLeftProperty()` | Defines a function to be called when an leftward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeRightProperty()` | Defines a function to be called when an rightward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super SwipeEvent>>` | `onSwipeUpProperty()` | Defines a function to be called when an upward swipe gesture happens in this scene.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchMovedProperty()` | Defines a function to be called when a touch point is moved.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchPressedProperty()` | Defines a function to be called when a new touch point is pressed.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchReleasedProperty()` | Defines a function to be called when a new touch point is pressed.
    `ObjectProperty<EventHandler<? super TouchEvent>>` | `onTouchStationaryProperty()` | Defines a function to be called when a touch point stays pressed and still.
    `ObjectProperty<EventHandler<? super ZoomEvent>>` | `onZoomFinishedProperty()` | Defines a function to be called when a zooming gesture ends.
    `ObjectProperty<EventHandler<? super ZoomEvent>>` | `onZoomProperty()` | Defines a function to be called when user performs a zooming action.
    `ObjectProperty<EventHandler<? super ZoomEvent>>` | `onZoomStartedProperty()` | Defines a function to be called when a zooming gesture is detected.
    `void` | `processKeyEvent​(KeyEvent e)` | Deprecated, for removal: This API element is subject to removal in a future version. This method was exposed erroneously and will be removed in a future version.
    `<T extends Event> void` | `removeEventFilter​(EventType<T> eventType, EventHandler<? super T> eventFilter)` | Unregisters a previously registered event filter from this scene.
    `<T extends Event> void` | `removeEventHandler​(EventType<T> eventType, EventHandler<? super T> eventHandler)` | Unregisters a previously registered event handler from this scene.
    `void` | `removeMnemonic​(Mnemonic m)` | Unregisters the specified mnemonic.
    `void` | `removePostLayoutPulseListener​(Runnable r)` | Removes a previously registered scene post layout pulse listener from listening to pulses in this scene.
    `void` | `removePreLayoutPulseListener​(Runnable r)` | Removes a previously registered scene pre layout pulse listener from listening to pulses in this scene.
    `ObjectProperty<Parent>` | `rootProperty()` | Defines the root `Node` of the scene graph.
    `void` | `setCamera​(Camera value)` | Sets the value of the property camera.
    `void` | `setCursor​(Cursor value)` | Sets the value of the property cursor.
    `void` | `setEventDispatcher​(EventDispatcher value)` | Sets the value of the property eventDispatcher.
    `protected <T extends Event> void` | `setEventHandler​(EventType<T> eventType, EventHandler<? super T> eventHandler)` | Sets the handler to use for this event type.
    `void` | `setFill​(Paint value)` | Sets the value of the property fill.
    `void` | `setNodeOrientation​(NodeOrientation orientation)` | Sets the value of the property nodeOrientation.
    `void` | `setOnContextMenuRequested​(EventHandler<? super ContextMenuEvent> value)` | Sets the value of the property onContextMenuRequested.
    `void` | `setOnDragDetected​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onDragDetected.
    `void` | `setOnDragDone​(EventHandler<? super DragEvent> value)` | Sets the value of the property onDragDone.
    `void` | `setOnDragDropped​(EventHandler<? super DragEvent> value)` | Sets the value of the property onDragDropped.
    `void` | `setOnDragEntered​(EventHandler<? super DragEvent> value)` | Sets the value of the property onDragEntered.
    `void` | `setOnDragExited​(EventHandler<? super DragEvent> value)` | Sets the value of the property onDragExited.
    `void` | `setOnDragOver​(EventHandler<? super DragEvent> value)` | Sets the value of the property onDragOver.
    `void` | `setOnInputMethodTextChanged​(EventHandler<? super InputMethodEvent> value)` | Sets the value of the property onInputMethodTextChanged.
    `void` | `setOnKeyPressed​(EventHandler<? super KeyEvent> value)` | Sets the value of the property onKeyPressed.
    `void` | `setOnKeyReleased​(EventHandler<? super KeyEvent> value)` | Sets the value of the property onKeyReleased.
    `void` | `setOnKeyTyped​(EventHandler<? super KeyEvent> value)` | Sets the value of the property onKeyTyped.
    `void` | `setOnMouseClicked​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMouseClicked.
    `void` | `setOnMouseDragEntered​(EventHandler<? super MouseDragEvent> value)` | Sets the value of the property onMouseDragEntered.
    `void` | `setOnMouseDragExited​(EventHandler<? super MouseDragEvent> value)` | Sets the value of the property onMouseDragExited.
    `void` | `setOnMouseDragged​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMouseDragged.
    `void` | `setOnMouseDragOver​(EventHandler<? super MouseDragEvent> value)` | Sets the value of the property onMouseDragOver.
    `void` | `setOnMouseDragReleased​(EventHandler<? super MouseDragEvent> value)` | Sets the value of the property onMouseDragReleased.
    `void` | `setOnMouseEntered​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMouseEntered.
    `void` | `setOnMouseExited​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMouseExited.
    `void` | `setOnMouseMoved​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMouseMoved.
    `void` | `setOnMousePressed​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMousePressed.
    `void` | `setOnMouseReleased​(EventHandler<? super MouseEvent> value)` | Sets the value of the property onMouseReleased.
    `void` | `setOnRotate​(EventHandler<? super RotateEvent> value)` | Sets the value of the property onRotate.
    `void` | `setOnRotationFinished​(EventHandler<? super RotateEvent> value)` | Sets the value of the property onRotationFinished.
    `void` | `setOnRotationStarted​(EventHandler<? super RotateEvent> value)` | Sets the value of the property onRotationStarted.
    `void` | `setOnScroll​(EventHandler<? super ScrollEvent> value)` | Sets the value of the property onScroll.
    `void` | `setOnScrollFinished​(EventHandler<? super ScrollEvent> value)` | Sets the value of the property onScrollFinished.
    `void` | `setOnScrollStarted​(EventHandler<? super ScrollEvent> value)` | Sets the value of the property onScrollStarted.
    `void` | `setOnSwipeDown​(EventHandler<? super SwipeEvent> value)` | Sets the value of the property onSwipeDown.
    `void` | `setOnSwipeLeft​(EventHandler<? super SwipeEvent> value)` | Sets the value of the property onSwipeLeft.
    `void` | `setOnSwipeRight​(EventHandler<? super SwipeEvent> value)` | Sets the value of the property onSwipeRight.
    `void` | `setOnSwipeUp​(EventHandler<? super SwipeEvent> value)` | Sets the value of the property onSwipeUp.
    `void` | `setOnTouchMoved​(EventHandler<? super TouchEvent> value)` | Sets the value of the property onTouchMoved.
    `void` | `setOnTouchPressed​(EventHandler<? super TouchEvent> value)` | Sets the value of the property onTouchPressed.
    `void` | `setOnTouchReleased​(EventHandler<? super TouchEvent> value)` | Sets the value of the property onTouchReleased.
    `void` | `setOnTouchStationary​(EventHandler<? super TouchEvent> value)` | Sets the value of the property onTouchStationary.
    `void` | `setOnZoom​(EventHandler<? super ZoomEvent> value)` | Sets the value of the property onZoom.
    `void` | `setOnZoomFinished​(EventHandler<? super ZoomEvent> value)` | Sets the value of the property onZoomFinished.
    `void` | `setOnZoomStarted​(EventHandler<? super ZoomEvent> value)` | Sets the value of the property onZoomStarted.
    `void` | `setRoot​(Parent value)` | Sets the value of the property root.
    `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.
    `void` | `setUserData​(Object value)` | Convenience method for setting a single Object property that can be retrieved at a later date.
    `WritableImage` | `snapshot​(WritableImage image)` | Takes a snapshot of this scene and returns the rendered image when it is ready.
    `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.
    `Dragboard` | `startDragAndDrop​(TransferMode... transferModes)` | Confirms a potential drag and drop gesture that is recognized over this `Scene`.
    `void` | `startFullDrag()` | Starts a full press-drag-release gesture with this scene as gesture source.
    `ObjectProperty<String>` | `userAgentStylesheetProperty()` |
    `ReadOnlyDoubleProperty` | `widthProperty()` | The width of this `Scene`
    `ReadOnlyObjectProperty<Window>` | `windowProperty()` | The `Window` for this `Scene`
    `ReadOnlyDoubleProperty` | `xProperty()` | The horizontal location of this `Scene` on the `Window`.
    `ReadOnlyDoubleProperty` | `yProperty()` | The vertical location of this `Scene` on the `Window`.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Property Detail

    - #### window

          public final ReadOnlyObjectProperty<Window> windowProperty

      The `Window` for this `Scene`
      See Also:
        `getWindow()`

    - #### x

          public final ReadOnlyDoubleProperty xProperty

      The horizontal location of this `Scene` on the `Window`.
      See Also:
        `getX()`

    - #### y

          public final ReadOnlyDoubleProperty yProperty

      The vertical location of this `Scene` on the `Window`.
      See Also:
        `getY()`

    - #### width

          public final ReadOnlyDoubleProperty widthProperty

      The width of this `Scene`
      See Also:
        `getWidth()`

    - #### height

          public final ReadOnlyDoubleProperty heightProperty

      The height of this `Scene`
      See Also:
        `getHeight()`

    - #### camera

          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)`

    - #### fill

          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)`

    - #### root

          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)`

    - #### cursor

          public final ObjectProperty<Cursor> cursorProperty

      Defines the mouse cursor for this `Scene`.
      See Also:
        `getCursor()`, `setCursor(Cursor)`

    - #### userAgentStylesheet

          public final ObjectProperty<String> userAgentStylesheetProperty

      Since:
        JavaFX 8u20
      See Also:
        `getUserAgentStylesheet()`, `setUserAgentStylesheet(String)`

    - #### focusOwner

          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()`

    - #### eventDispatcher

          public final ObjectProperty<EventDispatcher> eventDispatcherProperty

      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.
      See Also:
        `getEventDispatcher()`, `setEventDispatcher(EventDispatcher)`

    - #### onContextMenuRequested

          public final ObjectProperty<EventHandler<? super ContextMenuEvent>> onContextMenuRequestedProperty

      Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnContextMenuRequested()`, `setOnContextMenuRequested(EventHandler)`

    - #### onMouseClicked

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseClickedProperty

      Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
      See Also:
        `getOnMouseClicked()`, `setOnMouseClicked(EventHandler)`

    - #### onMouseDragged

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseDraggedProperty

      Defines a function to be called when a mouse button is pressed on this `Scene` and then dragged.
      See Also:
        `getOnMouseDragged()`, `setOnMouseDragged(EventHandler)`

    - #### onMouseEntered

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseEnteredProperty

      Defines a function to be called when the mouse enters this `Scene`.
      See Also:
        `getOnMouseEntered()`, `setOnMouseEntered(EventHandler)`

    - #### onMouseExited

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseExitedProperty

      Defines a function to be called when the mouse exits this `Scene`.
      See Also:
        `getOnMouseExited()`, `setOnMouseExited(EventHandler)`

    - #### onMouseMoved

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseMovedProperty

      Defines a function to be called when mouse cursor moves within this `Scene` but no buttons have been pushed.
      See Also:
        `getOnMouseMoved()`, `setOnMouseMoved(EventHandler)`

    - #### onMousePressed

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMousePressedProperty

      Defines a function to be called when a mouse button has been pressed on this `Scene`.
      See Also:
        `getOnMousePressed()`, `setOnMousePressed(EventHandler)`

    - #### onMouseReleased

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseReleasedProperty

      Defines a function to be called when a mouse button has been released on this `Scene`.
      See Also:
        `getOnMouseReleased()`, `setOnMouseReleased(EventHandler)`

    - #### onDragDetected

          public final ObjectProperty<EventHandler<? super MouseEvent>> onDragDetectedProperty

      Defines a function to be called when drag gesture has been detected. This is the right place to start drag and drop operation.
      See Also:
        `getOnDragDetected()`, `setOnDragDetected(EventHandler)`

    - #### onMouseDragOver

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragOverProperty

      Defines a function to be called when a full press-drag-release gesture progresses within this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragOver()`, `setOnMouseDragOver(EventHandler)`

    - #### onMouseDragReleased

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragReleasedProperty

      Defines a function to be called when a full press-drag-release gesture ends within this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragReleased()`, `setOnMouseDragReleased(EventHandler)`

    - #### onMouseDragEntered

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragEnteredProperty

      Defines a function to be called when a full press-drag-release gesture enters this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragEntered()`, `setOnMouseDragEntered(EventHandler)`

    - #### onMouseDragExited

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragExitedProperty

      Defines a function to be called when a full press-drag-release gesture exits this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragExited()`, `setOnMouseDragExited(EventHandler)`

    - #### onScrollStarted

          public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollStartedProperty

      Defines a function to be called when a scrolling gesture is detected.
      Since:
        JavaFX 2.2
      See Also:
        `getOnScrollStarted()`, `setOnScrollStarted(EventHandler)`

    - #### onScroll

          public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollProperty

      Defines a function to be called when user performs a scrolling action.
      See Also:
        `getOnScroll()`, `setOnScroll(EventHandler)`

    - #### onScrollFinished

          public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollFinishedProperty

      Defines a function to be called when a scrolling gesture ends.
      Since:
        JavaFX 2.2
      See Also:
        `getOnScrollFinished()`, `setOnScrollFinished(EventHandler)`

    - #### onRotationStarted

          public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationStartedProperty

      Defines a function to be called when a rotating gesture is detected.
      Since:
        JavaFX 2.2
      See Also:
        `getOnRotationStarted()`, `setOnRotationStarted(EventHandler)`

    - #### onRotate

          public final ObjectProperty<EventHandler<? super RotateEvent>> onRotateProperty

      Defines a function to be called when user performs a rotating action.
      Since:
        JavaFX 2.2
      See Also:
        `getOnRotate()`, `setOnRotate(EventHandler)`

    - #### onRotationFinished

          public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationFinishedProperty

      Defines a function to be called when a rotating gesture ends.
      Since:
        JavaFX 2.2
      See Also:
        `getOnRotationFinished()`, `setOnRotationFinished(EventHandler)`

    - #### onZoomStarted

          public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomStartedProperty

      Defines a function to be called when a zooming gesture is detected.
      Since:
        JavaFX 2.2
      See Also:
        `getOnZoomStarted()`, `setOnZoomStarted(EventHandler)`

    - #### onZoom

          public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomProperty

      Defines a function to be called when user performs a zooming action.
      Since:
        JavaFX 2.2
      See Also:
        `getOnZoom()`, `setOnZoom(EventHandler)`

    - #### onZoomFinished

          public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomFinishedProperty

      Defines a function to be called when a zooming gesture ends.
      Since:
        JavaFX 2.2
      See Also:
        `getOnZoomFinished()`, `setOnZoomFinished(EventHandler)`

    - #### onSwipeUp

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeUpProperty

      Defines a function to be called when an upward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeUp()`, `setOnSwipeUp(EventHandler)`

    - #### onSwipeDown

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeDownProperty

      Defines a function to be called when an downward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeDown()`, `setOnSwipeDown(EventHandler)`

    - #### onSwipeLeft

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeLeftProperty

      Defines a function to be called when an leftward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeLeft()`, `setOnSwipeLeft(EventHandler)`

    - #### onSwipeRight

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeRightProperty

      Defines a function to be called when an rightward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeRight()`, `setOnSwipeRight(EventHandler)`

    - #### onTouchPressed

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchPressedProperty

      Defines a function to be called when a new touch point is pressed.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchPressed()`, `setOnTouchPressed(EventHandler)`

    - #### onTouchMoved

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchMovedProperty

      Defines a function to be called when a touch point is moved.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchMoved()`, `setOnTouchMoved(EventHandler)`

    - #### onTouchReleased

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchReleasedProperty

      Defines a function to be called when a new touch point is pressed.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchReleased()`, `setOnTouchReleased(EventHandler)`

    - #### onTouchStationary

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchStationaryProperty

      Defines a function to be called when a touch point stays pressed and still.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchStationary()`, `setOnTouchStationary(EventHandler)`

    - #### onDragEntered

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragEnteredProperty

      Defines a function to be called when drag gesture enters this `Scene`.
      See Also:
        `getOnDragEntered()`, `setOnDragEntered(EventHandler)`

    - #### onDragExited

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragExitedProperty

      Defines a function to be called when drag gesture exits this `Scene`.
      See Also:
        `getOnDragExited()`, `setOnDragExited(EventHandler)`

    - #### onDragOver

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragOverProperty

      Defines a function to be called when drag gesture progresses within this `Scene`.
      See Also:
        `getOnDragOver()`, `setOnDragOver(EventHandler)`

    - #### onDragDropped

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragDroppedProperty

      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.
      See Also:
        `getOnDragDropped()`, `setOnDragDropped(EventHandler)`

    - #### onDragDone

          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)`

    - #### onKeyPressed

          public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyPressedProperty

      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.
      See Also:
        `getOnKeyPressed()`, `setOnKeyPressed(EventHandler)`

    - #### onKeyReleased

          public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyReleasedProperty

      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.
      See Also:
        `getOnKeyReleased()`, `setOnKeyReleased(EventHandler)`

    - #### onKeyTyped

          public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyTypedProperty

      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.
      See Also:
        `getOnKeyTyped()`, `setOnKeyTyped(EventHandler)`

    - #### onInputMethodTextChanged

          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)`

    - #### nodeOrientation

          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)`

    - #### effectiveNodeOrientation

          public final ReadOnlyObjectProperty<NodeOrientation> effectiveNodeOrientationProperty

      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
      See Also:
        `getEffectiveNodeOrientation()`

  - ### 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

    - #### getAntiAliasing

          public final SceneAntialiasing getAntiAliasing()

      Return the defined `SceneAntialiasing` for this `Scene`.

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

      Returns:
        the SceneAntialiasing for this scene
      Since:
        JavaFX 8.0

    - #### getWindow

          public final Window getWindow()

      Gets the value of the property window.
      Property description:
        The `Window` for this `Scene`

    - #### windowProperty

          public final ReadOnlyObjectProperty<Window> windowProperty()

      The `Window` for this `Scene`
      See Also:
        `getWindow()`

    - #### disposePeer

          @Deprecated(forRemoval=true,
                      since="17")
          public void disposePeer()

      Deprecated, for removal: This API element is subject to removal in a future version.
      This method was exposed erroneously and will be removed in a future version.

    - #### getX

          public final double getX()

      Gets the value of the property x.
      Property description:
        The horizontal location of this `Scene` on the `Window`.

    - #### xProperty

          public final ReadOnlyDoubleProperty xProperty()

      The horizontal location of this `Scene` on the `Window`.
      See Also:
        `getX()`

    - #### getY

          public final double getY()

      Gets the value of the property y.
      Property description:
        The vertical location of this `Scene` on the `Window`.

    - #### yProperty

          public final ReadOnlyDoubleProperty yProperty()

      The vertical location of this `Scene` on the `Window`.
      See Also:
        `getY()`

    - #### getWidth

          public final double getWidth()

      Gets the value of the property width.
      Property description:
        The width of this `Scene`

    - #### widthProperty

          public final ReadOnlyDoubleProperty widthProperty()

      The width of this `Scene`
      See Also:
        `getWidth()`

    - #### getHeight

          public final double getHeight()

      Gets the value of the property height.
      Property description:
        The height of this `Scene`

    - #### heightProperty

          public final ReadOnlyDoubleProperty heightProperty()

      The height of this `Scene`
      See Also:
        `getHeight()`

    - #### 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`.

    - #### cursorProperty

          public final ObjectProperty<Cursor> cursorProperty()

      Defines the mouse cursor for this `Scene`.
      See Also:
        `getCursor()`, `setCursor(Cursor)`

    - #### 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.

      The RFC 2397 "data" scheme for URLs is supported in addition to the protocol handlers that are registered for the application. If a URL uses the "data" scheme and the MIME type is either empty, "text/plain", or "text/css", the payload will be interpreted as a CSS file. If the MIME type is "application/octet-stream", the payload will be interpreted as a binary CSS file (see `Stylesheet.convertToBinary(File, File)`).

           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

    - #### 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 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.

      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.

      The RFC 2397 "data" scheme for URLs is supported in addition to the protocol handlers that are registered for the application. If a URL uses the "data" scheme and the MIME type is either empty, "text/plain", or "text/css", the payload will be interpreted as a CSS file. If the MIME type is "application/octet-stream", the payload will be interpreted as a binary CSS file (see `Stylesheet.convertToBinary(File, File)`).

      For additional information about using CSS with the scene graph, see the CSS Reference Guide.

      Parameters:
        `url` - the URL of the user-agent stylesheet
      Since:
        JavaFX 8u20

    - #### isDepthBuffer

          public final boolean isDepthBuffer()

      Retrieves the depth buffer attribute for this scene.
      Returns:
        the depth buffer attribute.

    - #### processKeyEvent

          @Deprecated(forRemoval=true,
                      since="17")
          public void processKeyEvent​(KeyEvent e)

      Deprecated, for removal: This API element is subject to removal in a future version.
      This method was exposed erroneously and will be removed in a future version.
      Parameters:
        `e` - undocumented method parameter

    - #### 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

          @Deprecated(forRemoval=true,
                      since="17")
          public void enableInputMethodEvents​(boolean enable)

      Deprecated, for removal: This API element is subject to removal in a future version.
      This method was exposed erroneously and will be removed in a future version.
      Parameters:
        `enable` - undocumented method parameter

    - #### 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.

    - #### eventDispatcherProperty

          public final ObjectProperty<EventDispatcher> eventDispatcherProperty()

      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.
      See Also:
        `getEventDispatcher()`, `setEventDispatcher(EventDispatcher)`

    - #### 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

    - #### getMnemonics

          public ObservableMap<KeyCombination,​ObservableList<Mnemonic>> getMnemonics()

      Gets the list of mnemonics for this `Scene`.
      Returns:
        the list of mnemonics

    - #### getAccelerators

          public ObservableMap<KeyCombination,​Runnable> getAccelerators()

      Gets the list of accelerators for this `Scene`.
      Returns:
        the list of accelerators

    - #### 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

    - #### onContextMenuRequestedProperty

          public final ObjectProperty<EventHandler<? super ContextMenuEvent>> onContextMenuRequestedProperty()

      Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnContextMenuRequested()`, `setOnContextMenuRequested(EventHandler)`

    - #### 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`.

    - #### onMouseClickedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseClickedProperty()

      Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Scene`.
      See Also:
        `getOnMouseClicked()`, `setOnMouseClicked(EventHandler)`

    - #### 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.

    - #### onMouseDraggedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseDraggedProperty()

      Defines a function to be called when a mouse button is pressed on this `Scene` and then dragged.
      See Also:
        `getOnMouseDragged()`, `setOnMouseDragged(EventHandler)`

    - #### 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`.

    - #### onMouseEnteredProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseEnteredProperty()

      Defines a function to be called when the mouse enters this `Scene`.
      See Also:
        `getOnMouseEntered()`, `setOnMouseEntered(EventHandler)`

    - #### 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`.

    - #### onMouseExitedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseExitedProperty()

      Defines a function to be called when the mouse exits this `Scene`.
      See Also:
        `getOnMouseExited()`, `setOnMouseExited(EventHandler)`

    - #### 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.

    - #### onMouseMovedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseMovedProperty()

      Defines a function to be called when mouse cursor moves within this `Scene` but no buttons have been pushed.
      See Also:
        `getOnMouseMoved()`, `setOnMouseMoved(EventHandler)`

    - #### 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`.

    - #### onMousePressedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMousePressedProperty()

      Defines a function to be called when a mouse button has been pressed on this `Scene`.
      See Also:
        `getOnMousePressed()`, `setOnMousePressed(EventHandler)`

    - #### 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`.

    - #### onMouseReleasedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseReleasedProperty()

      Defines a function to be called when a mouse button has been released on this `Scene`.
      See Also:
        `getOnMouseReleased()`, `setOnMouseReleased(EventHandler)`

    - #### 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.

    - #### onDragDetectedProperty

          public final ObjectProperty<EventHandler<? super MouseEvent>> onDragDetectedProperty()

      Defines a function to be called when drag gesture has been detected. This is the right place to start drag and drop operation.
      See Also:
        `getOnDragDetected()`, `setOnDragDetected(EventHandler)`

    - #### 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

    - #### onMouseDragOverProperty

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragOverProperty()

      Defines a function to be called when a full press-drag-release gesture progresses within this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragOver()`, `setOnMouseDragOver(EventHandler)`

    - #### 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

    - #### onMouseDragReleasedProperty

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragReleasedProperty()

      Defines a function to be called when a full press-drag-release gesture ends within this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragReleased()`, `setOnMouseDragReleased(EventHandler)`

    - #### 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

    - #### onMouseDragEnteredProperty

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragEnteredProperty()

      Defines a function to be called when a full press-drag-release gesture enters this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragEntered()`, `setOnMouseDragEntered(EventHandler)`

    - #### 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

    - #### onMouseDragExitedProperty

          public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragExitedProperty()

      Defines a function to be called when a full press-drag-release gesture exits this `Scene`.
      Since:
        JavaFX 2.1
      See Also:
        `getOnMouseDragExited()`, `setOnMouseDragExited(EventHandler)`

    - #### 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

    - #### onScrollStartedProperty

          public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollStartedProperty()

      Defines a function to be called when a scrolling gesture is detected.
      Since:
        JavaFX 2.2
      See Also:
        `getOnScrollStarted()`, `setOnScrollStarted(EventHandler)`

    - #### 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.

    - #### onScrollProperty

          public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollProperty()

      Defines a function to be called when user performs a scrolling action.
      See Also:
        `getOnScroll()`, `setOnScroll(EventHandler)`

    - #### 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

    - #### onScrollFinishedProperty

          public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollFinishedProperty()

      Defines a function to be called when a scrolling gesture ends.
      Since:
        JavaFX 2.2
      See Also:
        `getOnScrollFinished()`, `setOnScrollFinished(EventHandler)`

    - #### 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

    - #### onRotationStartedProperty

          public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationStartedProperty()

      Defines a function to be called when a rotating gesture is detected.
      Since:
        JavaFX 2.2
      See Also:
        `getOnRotationStarted()`, `setOnRotationStarted(EventHandler)`

    - #### 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

    - #### onRotateProperty

          public final ObjectProperty<EventHandler<? super RotateEvent>> onRotateProperty()

      Defines a function to be called when user performs a rotating action.
      Since:
        JavaFX 2.2
      See Also:
        `getOnRotate()`, `setOnRotate(EventHandler)`

    - #### 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

    - #### onRotationFinishedProperty

          public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationFinishedProperty()

      Defines a function to be called when a rotating gesture ends.
      Since:
        JavaFX 2.2
      See Also:
        `getOnRotationFinished()`, `setOnRotationFinished(EventHandler)`

    - #### 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

    - #### onZoomStartedProperty

          public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomStartedProperty()

      Defines a function to be called when a zooming gesture is detected.
      Since:
        JavaFX 2.2
      See Also:
        `getOnZoomStarted()`, `setOnZoomStarted(EventHandler)`

    - #### 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

    - #### onZoomProperty

          public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomProperty()

      Defines a function to be called when user performs a zooming action.
      Since:
        JavaFX 2.2
      See Also:
        `getOnZoom()`, `setOnZoom(EventHandler)`

    - #### 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

    - #### onZoomFinishedProperty

          public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomFinishedProperty()

      Defines a function to be called when a zooming gesture ends.
      Since:
        JavaFX 2.2
      See Also:
        `getOnZoomFinished()`, `setOnZoomFinished(EventHandler)`

    - #### 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

    - #### onSwipeUpProperty

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeUpProperty()

      Defines a function to be called when an upward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeUp()`, `setOnSwipeUp(EventHandler)`

    - #### 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

    - #### onSwipeDownProperty

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeDownProperty()

      Defines a function to be called when an downward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeDown()`, `setOnSwipeDown(EventHandler)`

    - #### 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

    - #### onSwipeLeftProperty

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeLeftProperty()

      Defines a function to be called when an leftward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeLeft()`, `setOnSwipeLeft(EventHandler)`

    - #### 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

    - #### onSwipeRightProperty

          public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeRightProperty()

      Defines a function to be called when an rightward swipe gesture happens in this scene.
      Since:
        JavaFX 2.2
      See Also:
        `getOnSwipeRight()`, `setOnSwipeRight(EventHandler)`

    - #### 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

    - #### onTouchPressedProperty

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchPressedProperty()

      Defines a function to be called when a new touch point is pressed.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchPressed()`, `setOnTouchPressed(EventHandler)`

    - #### 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

    - #### onTouchMovedProperty

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchMovedProperty()

      Defines a function to be called when a touch point is moved.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchMoved()`, `setOnTouchMoved(EventHandler)`

    - #### 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

    - #### onTouchReleasedProperty

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchReleasedProperty()

      Defines a function to be called when a new touch point is pressed.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchReleased()`, `setOnTouchReleased(EventHandler)`

    - #### 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

    - #### onTouchStationaryProperty

          public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchStationaryProperty()

      Defines a function to be called when a touch point stays pressed and still.
      Since:
        JavaFX 2.2
      See Also:
        `getOnTouchStationary()`, `setOnTouchStationary(EventHandler)`

    - #### setOnDragEntered

          public final void setOnDragEntered​(EventHandler<? super DragEvent> value)

      Sets the value of the property onDragEntered.
      Property description:
        Defines a function to be called when drag gesture enters this `Scene`.

    - #### getOnDragEntered

          public final EventHandler<? super DragEvent> getOnDragEntered()

      Gets the value of the property onDragEntered.
      Property description:
        Defines a function to be called when drag gesture enters this `Scene`.

    - #### onDragEnteredProperty

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragEnteredProperty()

      Defines a function to be called when drag gesture enters this `Scene`.
      See Also:
        `getOnDragEntered()`, `setOnDragEntered(EventHandler)`

    - #### 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`.

    - #### onDragExitedProperty

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragExitedProperty()

      Defines a function to be called when drag gesture exits this `Scene`.
      See Also:
        `getOnDragExited()`, `setOnDragExited(EventHandler)`

    - #### 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`.

    - #### onDragOverProperty

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragOverProperty()

      Defines a function to be called when drag gesture progresses within this `Scene`.
      See Also:
        `getOnDragOver()`, `setOnDragOver(EventHandler)`

    - #### 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.

    - #### onDragDroppedProperty

          public final ObjectProperty<EventHandler<? super DragEvent>> onDragDroppedProperty()

      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.
      See Also:
        `getOnDragDropped()`, `setOnDragDropped(EventHandler)`

    - #### 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.

    - #### onKeyPressedProperty

          public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyPressedProperty()

      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.
      See Also:
        `getOnKeyPressed()`, `setOnKeyPressed(EventHandler)`

    - #### 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.

    - #### onKeyReleasedProperty

          public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyReleasedProperty()

      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.
      See Also:
        `getOnKeyReleased()`, `setOnKeyReleased(EventHandler)`

    - #### 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.

    - #### onKeyTypedProperty

          public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyTypedProperty()

      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.
      See Also:
        `getOnKeyTyped()`, `setOnKeyTyped(EventHandler)`

    - #### 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

    - #### effectiveNodeOrientationProperty

          public final ReadOnlyObjectProperty<NodeOrientation> effectiveNodeOrientationProperty()

      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
      See Also:
        `getEffectiveNodeOrientation()`