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

  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 Details

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

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

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