# Class Node

java.lang.Object
javafx.scene.Node

All Implemented Interfaces:
  `Styleable`, `EventTarget`

Direct Known Subclasses:
  `com.sun.javafx.scene.AbstractNode`, `Camera`, `Canvas`, `ImageView`, `LightBase`, `Parent`, `Shape`, `Shape3D`, `SubScene`

@IDProperty("id") public abstract sealed class Node extends Object implements EventTarget, Styleable permits Camera, LightBase, Parent, SubScene, Canvas, ImageView, Shape, Shape3D (not exhaustive)
Base class for scene graph nodes. A scene graph is a set of tree data structures where every item has zero or one parent, and each item is either a "leaf" with zero sub-items or a "branch" with zero or more sub-items.

Each item in the scene graph is called a `Node`. Branch nodes are of type `Parent`, whose concrete subclasses are `Group`, `Region`, and `Control`, or subclasses thereof.

Leaf nodes are classes such as `Rectangle`, `Text`, `ImageView`, `MediaView`, or other such leaf classes which cannot have children. Only a single node within each scene graph tree will have no parent, which is referred to as the "root" node.

There may be several trees in the scene graph. Some trees may be part of a `Scene`, in which case they are eligible to be displayed. Other trees might not be part of any `Scene`.

A node may occur at most once anywhere in the scene graph. Specifically, a node must appear no more than once in all of the following: as the root node of a `Scene`, the children ObservableList of a `Parent`, or as the clip of a `Node`.

The scene graph must not have cycles. A cycle would exist if a node is an ancestor of itself in the tree, considering the `Group` content ObservableList, `Parent` children ObservableList, and `Node` clip relationships mentioned above.

If a program adds a child node to a Parent (including Group, Region, etc) and that node is already a child of a different Parent or the root of a Scene, the node is automatically (and silently) removed from its former parent. If a program attempts to modify the scene graph in any other way that violates the above rules, an exception is thrown, the modification attempt is ignored and the scene graph is restored to its previous state.

It is possible to rearrange the structure of the scene graph, for example, to move a subtree from one location in the scene graph to another. In order to do this, one would normally remove the subtree from its old location before inserting it at the new location. However, the subtree will be automatically removed as described above if the application doesn't explicitly remove it.

Node objects may be constructed and modified on any thread as long they are not yet attached to a `Scene` in a `Window` that is `showing`. An application must attach nodes to such a Scene or modify them on the JavaFX Application Thread.

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.

## String ID

Each node in the scene graph can be given a unique `id`. This id is much like the "id" attribute of an HTML tag in that it is up to the designer and developer to ensure that the `id` is unique within the scene graph. A convenience function called `lookup(String)` can be used to find a node with a unique id within the scene graph, or within a subtree of the scene graph. The id can also be used identify nodes for applying styles; see the CSS section below.

## Coordinate System

The `Node` class defines a traditional computer graphics "local" coordinate system in which the `x` axis increases to the right and the `y` axis increases downwards. The concrete node classes for shapes provide variables for defining the geometry and location of the shape within this local coordinate space. For example, `Rectangle` provides `x`, `y`, `width`, `height` variables while `Circle` provides `centerX`, `centerY`, and `radius`.

At the device pixel level, integer coordinates map onto the corners and cracks between the pixels and the centers of the pixels appear at the midpoints between integer pixel locations. Because all coordinate values are specified with floating point numbers, coordinates can precisely point to these corners (when the floating point values have exact integer values) or to any location on the pixel. For example, a coordinate of `(0.5, 0.5)` would point to the center of the upper left pixel on the `Stage`. Similarly, a rectangle at `(0, 0)` with dimensions of `10` by `10` would span from the upper left corner of the upper left pixel on the `Stage` to the lower right corner of the 10th pixel on the 10th scanline. The pixel center of the last pixel inside that rectangle would be at the coordinates `(9.5, 9.5)`.

In practice, most nodes have transformations applied to their coordinate system as mentioned below. As a result, the information above describing the alignment of device coordinates to the pixel grid is relative to the transformed coordinates, not the local coordinates of the nodes. The `Shape` class describes some additional important context-specific information about coordinate mapping and how it can affect rendering.

## Transformations

Any `Node` can have transformations applied to it. These include translation, rotation, scaling, or shearing.

A translation transformation is one which shifts the origin of the node's coordinate space along either the x or y axis. For example, if you create a `Rectangle` which is drawn at the origin (x=0, y=0) and has a width of 100 and a height of 50, and then apply a `Translate` with a shift of 10 along the x axis (x=10), then the rectangle will appear drawn at (x=10, y=0) and remain 100 points wide and 50 tall. Note that the origin was shifted, not the `x` variable of the rectangle.

A common node transform is a translation by an integer distance, most often used to lay out nodes on the stage. Such integer translations maintain the device pixel mapping so that local coordinates that are integers still map to the cracks between pixels.

A rotation transformation is one which rotates the coordinate space of the node about a specified "pivot" point, causing the node to appear rotated. For example, if you create a `Rectangle` which is drawn at the origin (x=0, y=0) and has a width of 100 and height of 30 and you apply a `Rotate` with a 90 degree rotation (angle=90) and a pivot at the origin (pivotX=0, pivotY=0), then the rectangle will be drawn as if its x and y were zero but its height was 100 and its width -30. That is, it is as if a pin is being stuck at the top left corner and the rectangle is rotating 90 degrees clockwise around that pin. If the pivot point is instead placed in the center of the rectangle (at point x=50, y=15) then the rectangle will instead appear to rotate about its center.

Note that as with all transformations, the x, y, width, and height variables of the rectangle (which remain relative to the local coordinate space) have not changed, but rather the transformation alters the entire coordinate space of the rectangle.

A scaling transformation causes a node to either appear larger or smaller depending on the scaling factor. Scaling alters the coordinate space of the node such that each unit of distance along the axis in local coordinates is multiplied by the scale factor. As with rotation transformations, scaling transformations are applied about a "pivot" point. You can think of this as the point in the `Node` around which you "zoom". For example, if you create a `Rectangle` with a `strokeWidth` of 5, and a width and height of 50, and you apply a `Scale` with scale factors (x=2.0, y=2.0) and a pivot at the origin (pivotX=0, pivotY=0), the entire rectangle (including the stroke) will double in size, growing to the right and downwards from the origin.

A shearing transformation, sometimes called a skew, effectively rotates one axis so that the x and y axes are no longer perpendicular.

Multiple transformations may be applied to a node. Custom transforms are applied using the `transforms` list. Predefined transforms are applied using the properties specified below. The matrices that represent the transforms are multiplied in this order:

1. Layout (`layoutX`, `layoutY`) and translate (`translateX`, `translateY`, `translateZ`)
2. Rotate (`rotate`)
3. Scale (`scaleX`, `scaleY`, `scaleZ`)
4. Transforms list (`transforms`) starting from element 0

The transforms are applied in the reverse order of the matrix multiplication outlined above: last element of the transforms list to 0th element, scale, rotate, and layout and translate. By applying the transforms in this order, the bounds in the local coordinates of the node are transformed to the bounds in the parent coordinate of the node (see the Bounding Rectangles section).

## Bounding Rectangles

Since every `Node` has transformations, every Node's geometric bounding rectangle can be described differently depending on whether transformations are accounted for or not.

Each `Node` has a read-only `boundsInLocal` variable which specifies the bounding rectangle of the `Node` in untransformed local coordinates. `boundsInLocal` includes the Node's shape geometry, including any space required for a non-zero stroke that may fall outside the local position/size variables, and its `clip` and `effect` variables.

Each `Node` also has a read-only `boundsInParent` variable which specifies the bounding rectangle of the `Node` after all transformations have been applied as specified in the Transformations section. It is called "boundsInParent" because the rectangle will be relative to the parent's coordinate system. This is the 'visual' bounds of the node.

Finally, the `layoutBounds` variable defines the rectangular bounds of the `Node` that should be used as the basis for layout calculations and may differ from the visual bounds of the node. For shapes, Text, and ImageView, layoutBounds by default includes only the shape geometry, including space required for a non-zero `strokeWidth`, but does not include the effect, clip, or any transforms. For resizable classes (Regions and Controls) layoutBounds will always map to `0,0 width x height`.

The image shows a node without any transformation and its `boundsInLocal`:

If we rotate the image by 20 degrees we get following result:

The red rectangle represents `boundsInParent` in the coordinate space of the Node's parent. The `boundsInLocal` stays the same as in the first image, the green rectangle in this image represents `boundsInLocal` in the coordinate space of the Node.

The images show a filled and stroked rectangle and their bounds. The first rectangle `[x:10.0 y:10.0 width:100.0 height:100.0 strokeWidth:0]` has the following bounds bounds: `[x:10.0 y:10.0 width:100.0 height:100.0]`. The second rectangle `[x:10.0 y:10.0 width:100.0 height:100.0 strokeWidth:5]` has the following bounds: `[x:7.5 y:7.5 width:105 height:105]` (the stroke is centered by default, so only half of it is outside of the original bounds; it is also possible to create inside or outside stroke). Since neither of the rectangles has any transformation applied, `boundsInParent` and `boundsInLocal` are the same.

## CSS

The `Node` class contains `id`, `styleClass`, and `style` variables that are used in styling this node from CSS. The `id` and `styleClass` variables are used in CSS style sheets to identify nodes to which styles should be applied. The `style` variable contains style properties and values that are applied directly to this node.

For further information about CSS and how to apply CSS styles to nodes, see the CSS Reference Guide.

Since:
  JavaFX 2.0

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final ObjectProperty<String>`
  `accessibleHelp`
  The accessible help text for this `Node`.
  `final ObjectProperty<String>`
  `accessibleRoleDescription`
  The role description of this `Node`.
  `final ObjectProperty<AccessibleRole>`
  `accessibleRole`
  The accessible role for this `Node`.
  `final ObjectProperty<String>`
  `accessibleText`
  The accessible text for this `Node`.
  `final ObjectProperty<BlendMode>`
  `blendMode`
  The `BlendMode` used to blend this individual node into the scene behind it.
  `final ReadOnlyObjectProperty<Bounds>`
  `boundsInLocal`
  The rectangular bounds of this `Node` in the node's untransformed local coordinate space.
  `final ReadOnlyObjectProperty<Bounds>`
  `boundsInParent`
  The rectangular bounds of this `Node` in the parent coordinate system.
  `final ObjectProperty<CacheHint>`
  `cacheHint`
  Additional hint for controlling bitmap caching.
  `final BooleanProperty`
  `cache`
  A performance hint to the system to indicate that this `Node` should be cached as a bitmap.
  `final ObjectProperty<Node>`
  `clip`
  Specifies a `Node` to use to define the clipping shape for this Node.
  `final ObjectProperty<Cursor>`
  `cursor`
  Defines the mouse cursor for this `Node` and subnodes.
  `final ObjectProperty<DepthTest>`
  `depthTest`
  Indicates whether depth testing is used when rendering this node.
  `final ReadOnlyBooleanProperty`
  `disabled`
  Indicates whether or not this `Node` is disabled.
  `final BooleanProperty`
  `disable`
  Defines the individual disabled state of this `Node`.
  `final ReadOnlyObjectProperty<NodeOrientation>`
  `effectiveNodeOrientation`
  The effective orientation of a node resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
  `final ObjectProperty<Effect>`
  `effect`
  Specifies an effect to apply to this `Node`.
  `final ObjectProperty<EventDispatcher>`
  `eventDispatcher`
  Specifies the event dispatcher for this node.
  `final ReadOnlyBooleanProperty`
  `focused`
  Indicates whether this `Node` currently has the input focus.
  `final BooleanProperty`
  `focusTraversable`
  Specifies whether this `Node` should be a part of focus traversal cycle.
  `final ReadOnlyBooleanProperty`
  `focusVisible`
  Indicates whether this `Node` should visibly indicate focus.
  `final ReadOnlyBooleanProperty`
  `focusWithin`
  Indicates whether this `Node` or any of its descendants currently has the input focus.
  `final ReadOnlyBooleanProperty`
  `hover`
  Whether or not this `Node` is being hovered over.
  `final StringProperty`
  `id`
  The id of this `Node`.
  `final ObjectProperty<InputMethodRequests>`
  `inputMethodRequests`
  Property holding InputMethodRequests.
  `final ReadOnlyObjectProperty<Bounds>`
  `layoutBounds`
  The rectangular bounds that should be used for layout calculations for this node.
  `final DoubleProperty`
  `layoutX`
  Defines the x coordinate of the translation that is added to this `Node`'s transform for the purpose of layout.
  `final DoubleProperty`
  `layoutY`
  Defines the y coordinate of the translation that is added to this `Node`'s transform for the purpose of layout.
  `final ReadOnlyObjectProperty<Transform>`
  `localToParentTransform`
  An affine transform that holds the computed local-to-parent transform.
  `final ReadOnlyObjectProperty<Transform>`
  `localToSceneTransform`
  An affine transform that holds the computed local-to-scene transform.
  `final BooleanProperty`
  `managed`
  Defines whether or not this node's layout will be managed by its parent.
  `final BooleanProperty`
  `mouseTransparent`
  If `true`, this node (together with all its children) is completely transparent to mouse events.
  `final ObjectProperty<NodeOrientation>`
  `nodeOrientation`
  Node orientation describes the flow of visual data within a node.
  `final ObjectProperty<EventHandler<? super ContextMenuEvent>>`
  `onContextMenuRequested`
  Defines a function to be called when a context menu has been requested on this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onDragDetected`
  Defines a function to be called when drag gesture has been detected.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragDone`
  Defines a function to be called when this `Node` is a drag and drop gesture source after its data has been dropped on a drop target.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragDropped`
  Defines a function to be called when the mouse button is released on this `Node` during drag and drop gesture.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragEntered`
  Defines a function to be called when drag gesture enters this `Node`.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragExited`
  Defines a function to be called when drag gesture exits this `Node`.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragOver`
  Defines a function to be called when drag gesture progresses within this `Node`.
  `final ObjectProperty<EventHandler<? super InputMethodEvent>>`
  `onInputMethodTextChanged`
  Defines a function to be called when this `Node` has input focus and the input method text has changed.
  `final ObjectProperty<EventHandler<? super KeyEvent>>`
  `onKeyPressed`
  Defines a function to be called when this `Node` or its child `Node` has input focus and a key has been pressed.
  `final ObjectProperty<EventHandler<? super KeyEvent>>`
  `onKeyReleased`
  Defines a function to be called when this `Node` or its child `Node` has input focus and a key has been released.
  `final ObjectProperty<EventHandler<? super KeyEvent>>`
  `onKeyTyped`
  Defines a function to be called when this `Node` or its child `Node` has input focus and a key has been typed.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseClicked`
  Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Node`.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragEntered`
  Defines a function to be called when a full press-drag-release gesture enters this `Node`.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragExited`
  Defines a function to be called when a full press-drag-release gesture leaves this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseDragged`
  Defines a function to be called when a mouse button is pressed on this `Node` and then dragged.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragOver`
  Defines a function to be called when a full press-drag-release gesture progresses within this `Node`.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragReleased`
  Defines a function to be called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseEntered`
  Defines a function to be called when the mouse enters this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseExited`
  Defines a function to be called when the mouse exits this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseMoved`
  Defines a function to be called when mouse cursor moves within this `Node` but no buttons have been pushed.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMousePressed`
  Defines a function to be called when a mouse button has been pressed on this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseReleased`
  Defines a function to be called when a mouse button has been released on this `Node`.
  `final ObjectProperty<EventHandler<? super RotateEvent>>`
  `onRotate`
  Defines a function to be called when user performs a rotation action.
  `final ObjectProperty<EventHandler<? super RotateEvent>>`
  `onRotationFinished`
  Defines a function to be called when a rotation gesture ends.
  `final ObjectProperty<EventHandler<? super RotateEvent>>`
  `onRotationStarted`
  Defines a function to be called when a rotation gesture is detected.
  `final ObjectProperty<EventHandler<? super ScrollEvent>>`
  `onScrollFinished`
  Defines a function to be called when a scrolling gesture ends.
  `final ObjectProperty<EventHandler<? super ScrollEvent>>`
  `onScroll`
  Defines a function to be called when user performs a scrolling action.
  `final ObjectProperty<EventHandler<? super ScrollEvent>>`
  `onScrollStarted`
  Defines a function to be called when a scrolling gesture is detected.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeDown`
  Defines a function to be called when a downward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeLeft`
  Defines a function to be called when a leftward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeRight`
  Defines a function to be called when an rightward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeUp`
  Defines a function to be called when an upward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchMoved`
  Defines a function to be called when a touch point is moved.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchPressed`
  Defines a function to be called when a new touch point is pressed.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchReleased`
  Defines a function to be called when a touch point is released.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchStationary`
  Defines a function to be called when a touch point stays pressed and still.
  `final ObjectProperty<EventHandler<? super ZoomEvent>>`
  `onZoomFinished`
  Defines a function to be called when a zooming gesture ends.
  `final ObjectProperty<EventHandler<? super ZoomEvent>>`
  `onZoom`
  Defines a function to be called when user performs a zooming action.
  `final ObjectProperty<EventHandler<? super ZoomEvent>>`
  `onZoomStarted`
  Defines a function to be called when a zooming gesture is detected.
  `final DoubleProperty`
  `opacity`
  Specifies how opaque (that is, solid) the `Node` appears.
  `final ReadOnlyObjectProperty<Parent>`
  `parent`
  The parent of this `Node`.
  `final BooleanProperty`
  `pickOnBounds`
  Defines how the picking computation is done for this node when triggered by a `MouseEvent` or a `contains` function call.
  `final ReadOnlyBooleanProperty`
  `pressed`
  Whether or not the `Node` is pressed.
  `final DoubleProperty`
  `rotate`
  Defines the angle of rotation about the `Node`'s center, measured in degrees.
  `final ObjectProperty<Point3D>`
  `rotationAxis`
  Defines the axis of rotation of this `Node`.
  `final DoubleProperty`
  `scaleX`
  Defines the factor by which coordinates are scaled about the center of the object along the X axis of this `Node`.
  `final DoubleProperty`
  `scaleY`
  Defines the factor by which coordinates are scaled about the center of the object along the Y axis of this `Node`.
  `final DoubleProperty`
  `scaleZ`
  Defines the factor by which coordinates are scaled about the center of the object along the Z axis of this `Node`.
  `final ReadOnlyObjectProperty<Scene>`
  `scene`
  The `Scene` that this `Node` is part of.
  `final StringProperty`
  `style`
  A string representation of the CSS style associated with this specific `Node`.
  `final DoubleProperty`
  `translateX`
  Defines the x coordinate of the translation that is added to this `Node`'s transform.
  `final DoubleProperty`
  `translateY`
  Defines the y coordinate of the translation that is added to this `Node`'s transform.
  `final DoubleProperty`
  `translateZ`
  Defines the Z coordinate of the translation that is added to the transformed coordinates of this `Node`.
  `final DoubleProperty`
  `viewOrder`
  Defines the rendering and picking order of this `Node` within its parent.
  `final BooleanProperty`
  `visible`
  Specifies whether this `Node` and any subnodes should be rendered as part of the scene graph.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final double`
  `BASELINE_OFFSET_SAME_AS_HEIGHT`
  This is a special value that might be returned by `getBaselineOffset()`.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Node()`
  Creates a new instance of Node.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final ObjectProperty<String>`
  `accessibleHelpProperty()`
  The accessible help text for this `Node`.
  `final ObjectProperty<String>`
  `accessibleRoleDescriptionProperty()`
  The role description of this `Node`.
  `final ObjectProperty<AccessibleRole>`
  `accessibleRoleProperty()`
  The accessible role for this `Node`.
  `final ObjectProperty<String>`
  `accessibleTextProperty()`
  The accessible text for this `Node`.
  `final <T extends Event>
  void`
  `addEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)`
  Registers an event filter for this target.
  `final <T extends Event>
  void`
  `addEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)`
  Registers an event handler for this target.
  `final void`
  `applyCss()`
  If required, apply styles to this Node and its children, if any.
  `final void`
  `autosize()`
  If the node is resizable, will set its layout bounds to its current preferred width and height.
  `final ObjectProperty<BlendMode>`
  `blendModeProperty()`
  The `BlendMode` used to blend this individual node into the scene behind it.
  `final ReadOnlyObjectProperty<Bounds>`
  `boundsInLocalProperty()`
  The rectangular bounds of this `Node` in the node's untransformed local coordinate space.
  `final ReadOnlyObjectProperty<Bounds>`
  `boundsInParentProperty()`
  The rectangular bounds of this `Node` in the parent coordinate system.
  `EventDispatchChain`
  `buildEventDispatchChain(EventDispatchChain tail)`
  Construct an event dispatch chain for this target.
  `final ObjectProperty<CacheHint>`
  `cacheHintProperty()`
  Additional hint for controlling bitmap caching.
  `final BooleanProperty`
  `cacheProperty()`
  A performance hint to the system to indicate that this `Node` should be cached as a bitmap.
  `final ObjectProperty<Node>`
  `clipProperty()`
  Specifies a `Node` to use to define the clipping shape for this Node.
  `double`
  `computeAreaInScreen()`
  Returns the area of this `Node` projected onto the physical screen in pixel units.
  `boolean`
  `contains(double localX, double localY)`
  Returns `true` if the given point (specified in the local coordinate space of this `Node`) is contained within the shape of this `Node`.
  `boolean`
  `contains(Point2D localPoint)`
  Returns `true` if the given point (specified in the local coordinate space of this `Node`) is contained within the shape of this `Node`.
  `final ObjectProperty<Cursor>`
  `cursorProperty()`
  Defines the mouse cursor for this `Node` and subnodes.
  `final ObjectProperty<DepthTest>`
  `depthTestProperty()`
  Indicates whether depth testing is used when rendering this node.
  `final ReadOnlyBooleanProperty`
  `disabledProperty()`
  Indicates whether or not this `Node` is disabled.
  `final BooleanProperty`
  `disableProperty()`
  Defines the individual disabled state of this `Node`.
  `final ReadOnlyObjectProperty<NodeOrientation>`
  `effectiveNodeOrientationProperty()`
  The effective orientation of a node resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
  `final ObjectProperty<Effect>`
  `effectProperty()`
  Specifies an effect to apply to this `Node`.
  `final ObjectProperty<EventDispatcher>`
  `eventDispatcherProperty()`
  Specifies the event dispatcher for this node.
  `void`
  `executeAccessibleAction(AccessibleAction action, Object... parameters)`
  This method is called by the assistive technology to request the action indicated by the argument should be executed.
  `final void`
  `fireEvent(Event event)`
  Fires the specified event.
  `final ReadOnlyBooleanProperty`
  `focusedProperty()`
  Indicates whether this `Node` currently has the input focus.
  `final BooleanProperty`
  `focusTraversableProperty()`
  Specifies whether this `Node` should be a part of focus traversal cycle.
  `final ReadOnlyBooleanProperty`
  `focusVisibleProperty()`
  Indicates whether this `Node` should visibly indicate focus.
  `final ReadOnlyBooleanProperty`
  `focusWithinProperty()`
  Indicates whether this `Node` or any of its descendants currently has the input focus.
  `final String`
  `getAccessibleHelp()`
  Gets the value of the `accessibleHelp` property.
  `final AccessibleRole`
  `getAccessibleRole()`
  Gets the value of the `accessibleRole` property.
  `final String`
  `getAccessibleRoleDescription()`
  Gets the value of the `accessibleRoleDescription` property.
  `final String`
  `getAccessibleText()`
  Gets the value of the `accessibleText` property.
  `double`
  `getBaselineOffset()`
  The 'alphabetic' (or 'roman') baseline offset from the node's layoutBounds.minY location that should be used when this node is being vertically aligned by baseline with other nodes.
  `final BlendMode`
  `getBlendMode()`
  Gets the value of the `blendMode` property.
  `final Bounds`
  `getBoundsInLocal()`
  Gets the value of the `boundsInLocal` property.
  `final Bounds`
  `getBoundsInParent()`
  Gets the value of the `boundsInParent` property.
  `final CacheHint`
  `getCacheHint()`
  Gets the value of the `cacheHint` property.
  `static List<CssMetaData<? extends Styleable, ?>>`
  `getClassCssMetaData()`
  Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
  `final Node`
  `getClip()`
  Gets the value of the `clip` property.
  `Orientation`
  `getContentBias()`
  Returns the orientation of a node's resizing bias for layout purposes.
  `List<CssMetaData<? extends Styleable, ?>>`
  `getCssMetaData()`
  This method should delegate to `getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
  `final Cursor`
  `getCursor()`
  Gets the value of the `cursor` property.
  `final DepthTest`
  `getDepthTest()`
  Gets the value of the `depthTest` property.
  `final Effect`
  `getEffect()`
  Gets the value of the `effect` property.
  `final NodeOrientation`
  `getEffectiveNodeOrientation()`
  Gets the value of the `effectiveNodeOrientation` property.
  `final EventDispatcher`
  `getEventDispatcher()`
  Gets the value of the `eventDispatcher` property.
  `final String`
  `getId()`
  The id of this `Node`.
  `protected Cursor`
  `getInitialCursor()`
  Returns the initial cursor state of this node, for use by the JavaFX CSS engine to correctly set its initial value.
  `protected Boolean`
  `getInitialFocusTraversable()`
  Returns the initial focus traversable state of this node, for use by the JavaFX CSS engine to correctly set its initial value.
  `final InputMethodRequests`
  `getInputMethodRequests()`
  Gets the value of the `inputMethodRequests` property.
  `final Bounds`
  `getLayoutBounds()`
  Gets the value of the `layoutBounds` property.
  `final double`
  `getLayoutX()`
  Gets the value of the `layoutX` property.
  `final double`
  `getLayoutY()`
  Gets the value of the `layoutY` property.
  `final Transform`
  `getLocalToParentTransform()`
  Gets the value of the `localToParentTransform` property.
  `final Transform`
  `getLocalToSceneTransform()`
  Gets the value of the `localToSceneTransform` property.
  `final NodeOrientation`
  `getNodeOrientation()`
  Gets the value of the `nodeOrientation` property.
  `final EventHandler<? super ContextMenuEvent>`
  `getOnContextMenuRequested()`
  Gets the value of the `onContextMenuRequested` property.
  `final EventHandler<? super MouseEvent>`
  `getOnDragDetected()`
  Gets the value of the `onDragDetected` property.
  `final EventHandler<? super DragEvent>`
  `getOnDragDone()`
  Gets the value of the `onDragDone` property.
  `final EventHandler<? super DragEvent>`
  `getOnDragDropped()`
  Gets the value of the `onDragDropped` property.
  `final EventHandler<? super DragEvent>`
  `getOnDragEntered()`
  Gets the value of the `onDragEntered` property.
  `final EventHandler<? super DragEvent>`
  `getOnDragExited()`
  Gets the value of the `onDragExited` property.
  `final EventHandler<? super DragEvent>`
  `getOnDragOver()`
  Gets the value of the `onDragOver` property.
  `final EventHandler<? super InputMethodEvent>`
  `getOnInputMethodTextChanged()`
  Gets the value of the `onInputMethodTextChanged` property.
  `final EventHandler<? super KeyEvent>`
  `getOnKeyPressed()`
  Gets the value of the `onKeyPressed` property.
  `final EventHandler<? super KeyEvent>`
  `getOnKeyReleased()`
  Gets the value of the `onKeyReleased` property.
  `final EventHandler<? super KeyEvent>`
  `getOnKeyTyped()`
  Gets the value of the `onKeyTyped` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMouseClicked()`
  Gets the value of the `onMouseClicked` property.
  `final EventHandler<? super MouseDragEvent>`
  `getOnMouseDragEntered()`
  Gets the value of the `onMouseDragEntered` property.
  `final EventHandler<? super MouseDragEvent>`
  `getOnMouseDragExited()`
  Gets the value of the `onMouseDragExited` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMouseDragged()`
  Gets the value of the `onMouseDragged` property.
  `final EventHandler<? super MouseDragEvent>`
  `getOnMouseDragOver()`
  Gets the value of the `onMouseDragOver` property.
  `final EventHandler<? super MouseDragEvent>`
  `getOnMouseDragReleased()`
  Gets the value of the `onMouseDragReleased` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMouseEntered()`
  Gets the value of the `onMouseEntered` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMouseExited()`
  Gets the value of the `onMouseExited` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMouseMoved()`
  Gets the value of the `onMouseMoved` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMousePressed()`
  Gets the value of the `onMousePressed` property.
  `final EventHandler<? super MouseEvent>`
  `getOnMouseReleased()`
  Gets the value of the `onMouseReleased` property.
  `final EventHandler<? super RotateEvent>`
  `getOnRotate()`
  Gets the value of the `onRotate` property.
  `final EventHandler<? super RotateEvent>`
  `getOnRotationFinished()`
  Gets the value of the `onRotationFinished` property.
  `final EventHandler<? super RotateEvent>`
  `getOnRotationStarted()`
  Gets the value of the `onRotationStarted` property.
  `final EventHandler<? super ScrollEvent>`
  `getOnScroll()`
  Gets the value of the `onScroll` property.
  `final EventHandler<? super ScrollEvent>`
  `getOnScrollFinished()`
  Gets the value of the `onScrollFinished` property.
  `final EventHandler<? super ScrollEvent>`
  `getOnScrollStarted()`
  Gets the value of the `onScrollStarted` property.
  `final EventHandler<? super SwipeEvent>`
  `getOnSwipeDown()`
  Gets the value of the `onSwipeDown` property.
  `final EventHandler<? super SwipeEvent>`
  `getOnSwipeLeft()`
  Gets the value of the `onSwipeLeft` property.
  `final EventHandler<? super SwipeEvent>`
  `getOnSwipeRight()`
  Gets the value of the `onSwipeRight` property.
  `final EventHandler<? super SwipeEvent>`
  `getOnSwipeUp()`
  Gets the value of the `onSwipeUp` property.
  `final EventHandler<? super TouchEvent>`
  `getOnTouchMoved()`
  Gets the value of the `onTouchMoved` property.
  `final EventHandler<? super TouchEvent>`
  `getOnTouchPressed()`
  Gets the value of the `onTouchPressed` property.
  `final EventHandler<? super TouchEvent>`
  `getOnTouchReleased()`
  Gets the value of the `onTouchReleased` property.
  `final EventHandler<? super TouchEvent>`
  `getOnTouchStationary()`
  Gets the value of the `onTouchStationary` property.
  `final EventHandler<? super ZoomEvent>`
  `getOnZoom()`
  Gets the value of the `onZoom` property.
  `final EventHandler<? super ZoomEvent>`
  `getOnZoomFinished()`
  Gets the value of the `onZoomFinished` property.
  `final EventHandler<? super ZoomEvent>`
  `getOnZoomStarted()`
  Gets the value of the `onZoomStarted` property.
  `final double`
  `getOpacity()`
  Gets the value of the `opacity` property.
  `final Parent`
  `getParent()`
  Gets the value of the `parent` property.
  `final ObservableMap<Object,Object>`
  `getProperties()`
  Returns an observable map of properties on this node for use primarily by application developers.
  `final ObservableSet<PseudoClass>`
  `getPseudoClassStates()`
  Return the pseudo-class state of this Styleable.
  `final double`
  `getRotate()`
  Gets the value of the `rotate` property.
  `final Point3D`
  `getRotationAxis()`
  Gets the value of the `rotationAxis` property.
  `final double`
  `getScaleX()`
  Gets the value of the `scaleX` property.
  `final double`
  `getScaleY()`
  Gets the value of the `scaleY` property.
  `final double`
  `getScaleZ()`
  Gets the value of the `scaleZ` property.
  `final Scene`
  `getScene()`
  Gets the value of the `scene` property.
  `final String`
  `getStyle()`
  A string representation of the CSS style associated with this specific `Node`.
  `Styleable`
  `getStyleableParent()`
  Return the parent of this Styleable, or null if there is no parent.
  `final ObservableList<String>`
  `getStyleClass()`
  A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine.
  `final ObservableList<Transform>`
  `getTransforms()`
  The `ObservableList` of custom `Transform`s to be applied to this `Node`.
  `final double`
  `getTranslateX()`
  Gets the value of the `translateX` property.
  `final double`
  `getTranslateY()`
  Gets the value of the `translateY` property.
  `final double`
  `getTranslateZ()`
  Gets the value of the `translateZ` property.
  `String`
  `getTypeSelector()`
  The type of this `Styleable` that is to be used in selector matching.
  `Object`
  `getUserData()`
  Returns a previously set Object property, or null if no such property has been set using the `setUserData(java.lang.Object)` method.
  `final double`
  `getViewOrder()`
  Gets the value of the `viewOrder` property.
  `boolean`
  `hasProperties()`
  Tests if Node has properties.
  `final ReadOnlyBooleanProperty`
  `hoverProperty()`
  Whether or not this `Node` is being hovered over.
  `final StringProperty`
  `idProperty()`
  The id of this `Node`.
  `final ObjectProperty<InputMethodRequests>`
  `inputMethodRequestsProperty()`
  Property holding InputMethodRequests.
  `boolean`
  `intersects(double localX, double localY, double localWidth, double localHeight)`
  Returns `true` if the given rectangle (specified in the local coordinate space of this `Node`) intersects the shape of this `Node`.
  `boolean`
  `intersects(Bounds localBounds)`
  Returns `true` if the given bounds (specified in the local coordinate space of this `Node`) intersects the shape of this `Node`.
  `final boolean`
  `isCache()`
  Gets the value of the `cache` property.
  `final boolean`
  `isDisable()`
  Gets the value of the `disable` property.
  `final boolean`
  `isDisabled()`
  Gets the value of the `disabled` property.
  `final boolean`
  `isFocused()`
  Gets the value of the `focused` property.
  `final boolean`
  `isFocusTraversable()`
  Gets the value of the `focusTraversable` property.
  `final boolean`
  `isFocusVisible()`
  Gets the value of the `focusVisible` property.
  `final boolean`
  `isFocusWithin()`
  Gets the value of the `focusWithin` property.
  `final boolean`
  `isHover()`
  Gets the value of the `hover` property.
  `final boolean`
  `isManaged()`
  Gets the value of the `managed` property.
  `final boolean`
  `isMouseTransparent()`
  Gets the value of the `mouseTransparent` property.
  `final boolean`
  `isPickOnBounds()`
  Gets the value of the `pickOnBounds` property.
  `final boolean`
  `isPressed()`
  Gets the value of the `pressed` property.
  `boolean`
  `isResizable()`
  Indicates whether this node is a type which can be resized by its parent.
  `final boolean`
  `isVisible()`
  Gets the value of the `visible` property.
  `final ReadOnlyObjectProperty<Bounds>`
  `layoutBoundsProperty()`
  The rectangular bounds that should be used for layout calculations for this node.
  `final DoubleProperty`
  `layoutXProperty()`
  Defines the x coordinate of the translation that is added to this `Node`'s transform for the purpose of layout.
  `final DoubleProperty`
  `layoutYProperty()`
  Defines the y coordinate of the translation that is added to this `Node`'s transform for the purpose of layout.
  `Point2D`
  `localToParent(double localX, double localY)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
  `Point3D`
  `localToParent(double x, double y, double z)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
  `Bounds`
  `localToParent(Bounds localBounds)`
  Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its parent.
  `Point2D`
  `localToParent(Point2D localPoint)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
  `Point3D`
  `localToParent(Point3D localPoint)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
  `final ReadOnlyObjectProperty<Transform>`
  `localToParentTransformProperty()`
  An affine transform that holds the computed local-to-parent transform.
  `Point2D`
  `localToScene(double localX, double localY)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point2D`
  `localToScene(double x, double y, boolean rootScene)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point3D`
  `localToScene(double x, double y, double z)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point3D`
  `localToScene(double x, double y, double z, boolean rootScene)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Bounds`
  `localToScene(Bounds localBounds)`
  Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Bounds`
  `localToScene(Bounds localBounds, boolean rootScene)`
  Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point2D`
  `localToScene(Point2D localPoint)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point2D`
  `localToScene(Point2D localPoint, boolean rootScene)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point3D`
  `localToScene(Point3D localPoint)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `Point3D`
  `localToScene(Point3D localPoint, boolean rootScene)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene.
  `final ReadOnlyObjectProperty<Transform>`
  `localToSceneTransformProperty()`
  An affine transform that holds the computed local-to-scene transform.
  `Point2D`
  `localToScreen(double localX, double localY)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
  `Point2D`
  `localToScreen(double localX, double localY, double localZ)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
  `Bounds`
  `localToScreen(Bounds localBounds)`
  Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
  `Point2D`
  `localToScreen(Point2D localPoint)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
  `Point2D`
  `localToScreen(Point3D localPoint)`
  Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
  `Node`
  `lookup(String selector)`
  Finds this `Node`, or the first sub-node, based on the given CSS selector.
  `Set<Node>`
  `lookupAll(String selector)`
  Finds all `Node`s, including this one and any children, which match the given CSS selector.
  `final BooleanProperty`
  `managedProperty()`
  Defines whether or not this node's layout will be managed by its parent.
  `double`
  `maxHeight(double width)`
  Returns the node's maximum height for use in layout calculations.
  `double`
  `maxWidth(double height)`
  Returns the node's maximum width for use in layout calculations.
  `double`
  `minHeight(double width)`
  Returns the node's minimum height for use in layout calculations.
  `double`
  `minWidth(double height)`
  Returns the node's minimum width for use in layout calculations.
  `final BooleanProperty`
  `mouseTransparentProperty()`
  If `true`, this node (together with all its children) is completely transparent to mouse events.
  `final ObjectProperty<NodeOrientation>`
  `nodeOrientationProperty()`
  Node orientation describes the flow of visual data within a node.
  `final void`
  `notifyAccessibleAttributeChanged(AccessibleAttribute attributes)`
  This method is called by the application to notify the assistive technology that the value for an attribute has changed.
  `final ObjectProperty<EventHandler<? super ContextMenuEvent>>`
  `onContextMenuRequestedProperty()`
  Defines a function to be called when a context menu has been requested on this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onDragDetectedProperty()`
  Defines a function to be called when drag gesture has been detected.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragDoneProperty()`
  Defines a function to be called when this `Node` is a drag and drop gesture source after its data has been dropped on a drop target.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragDroppedProperty()`
  Defines a function to be called when the mouse button is released on this `Node` during drag and drop gesture.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragEnteredProperty()`
  Defines a function to be called when drag gesture enters this `Node`.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragExitedProperty()`
  Defines a function to be called when drag gesture exits this `Node`.
  `final ObjectProperty<EventHandler<? super DragEvent>>`
  `onDragOverProperty()`
  Defines a function to be called when drag gesture progresses within this `Node`.
  `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.
  `final ObjectProperty<EventHandler<? super KeyEvent>>`
  `onKeyPressedProperty()`
  Defines a function to be called when this `Node` or its child `Node` has input focus and a key has been pressed.
  `final ObjectProperty<EventHandler<? super KeyEvent>>`
  `onKeyReleasedProperty()`
  Defines a function to be called when this `Node` or its child `Node` has input focus and a key has been released.
  `final ObjectProperty<EventHandler<? super KeyEvent>>`
  `onKeyTypedProperty()`
  Defines a function to be called when this `Node` or its child `Node` has input focus and a key has been typed.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseClickedProperty()`
  Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Node`.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragEnteredProperty()`
  Defines a function to be called when a full press-drag-release gesture enters this `Node`.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragExitedProperty()`
  Defines a function to be called when a full press-drag-release gesture leaves this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseDraggedProperty()`
  Defines a function to be called when a mouse button is pressed on this `Node` and then dragged.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragOverProperty()`
  Defines a function to be called when a full press-drag-release gesture progresses within this `Node`.
  `final ObjectProperty<EventHandler<? super MouseDragEvent>>`
  `onMouseDragReleasedProperty()`
  Defines a function to be called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseEnteredProperty()`
  Defines a function to be called when the mouse enters this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseExitedProperty()`
  Defines a function to be called when the mouse exits this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseMovedProperty()`
  Defines a function to be called when mouse cursor moves within this `Node` but no buttons have been pushed.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMousePressedProperty()`
  Defines a function to be called when a mouse button has been pressed on this `Node`.
  `final ObjectProperty<EventHandler<? super MouseEvent>>`
  `onMouseReleasedProperty()`
  Defines a function to be called when a mouse button has been released on this `Node`.
  `final ObjectProperty<EventHandler<? super RotateEvent>>`
  `onRotateProperty()`
  Defines a function to be called when user performs a rotation action.
  `final ObjectProperty<EventHandler<? super RotateEvent>>`
  `onRotationFinishedProperty()`
  Defines a function to be called when a rotation gesture ends.
  `final ObjectProperty<EventHandler<? super RotateEvent>>`
  `onRotationStartedProperty()`
  Defines a function to be called when a rotation gesture is detected.
  `final ObjectProperty<EventHandler<? super ScrollEvent>>`
  `onScrollFinishedProperty()`
  Defines a function to be called when a scrolling gesture ends.
  `final ObjectProperty<EventHandler<? super ScrollEvent>>`
  `onScrollProperty()`
  Defines a function to be called when user performs a scrolling action.
  `final ObjectProperty<EventHandler<? super ScrollEvent>>`
  `onScrollStartedProperty()`
  Defines a function to be called when a scrolling gesture is detected.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeDownProperty()`
  Defines a function to be called when a downward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeLeftProperty()`
  Defines a function to be called when a leftward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeRightProperty()`
  Defines a function to be called when an rightward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super SwipeEvent>>`
  `onSwipeUpProperty()`
  Defines a function to be called when an upward swipe gesture centered over this node happens.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchMovedProperty()`
  Defines a function to be called when a touch point is moved.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchPressedProperty()`
  Defines a function to be called when a new touch point is pressed.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchReleasedProperty()`
  Defines a function to be called when a touch point is released.
  `final ObjectProperty<EventHandler<? super TouchEvent>>`
  `onTouchStationaryProperty()`
  Defines a function to be called when a touch point stays pressed and still.
  `final ObjectProperty<EventHandler<? super ZoomEvent>>`
  `onZoomFinishedProperty()`
  Defines a function to be called when a zooming gesture ends.
  `final ObjectProperty<EventHandler<? super ZoomEvent>>`
  `onZoomProperty()`
  Defines a function to be called when user performs a zooming action.
  `final ObjectProperty<EventHandler<? super ZoomEvent>>`
  `onZoomStartedProperty()`
  Defines a function to be called when a zooming gesture is detected.
  `final DoubleProperty`
  `opacityProperty()`
  Specifies how opaque (that is, solid) the `Node` appears.
  `final ReadOnlyObjectProperty<Parent>`
  `parentProperty()`
  The parent of this `Node`.
  `Point2D`
  `parentToLocal(double parentX, double parentY)`
  Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
  `Point3D`
  `parentToLocal(double parentX, double parentY, double parentZ)`
  Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
  `Bounds`
  `parentToLocal(Bounds parentBounds)`
  Transforms a rectangle from the coordinate space of the parent into the local coordinate space of this `Node`.
  `Point2D`
  `parentToLocal(Point2D parentPoint)`
  Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
  `Point3D`
  `parentToLocal(Point3D parentPoint)`
  Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
  `final BooleanProperty`
  `pickOnBoundsProperty()`
  Defines how the picking computation is done for this node when triggered by a `MouseEvent` or a `contains` function call.
  `double`
  `prefHeight(double width)`
  Returns the node's preferred height for use in layout calculations.
  `double`
  `prefWidth(double height)`
  Returns the node's preferred width for use in layout calculations.
  `final ReadOnlyBooleanProperty`
  `pressedProperty()`
  Whether or not the `Node` is pressed.
  `final void`
  `pseudoClassStateChanged(PseudoClass pseudoClass, boolean active)`
  Used to specify that a pseudo-class of this Node has changed.
  `Object`
  `queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)`
  This method is called by the assistive technology to request the value for an attribute.
  `void`
  `relocate(double x, double y)`
  Sets the node's layoutX and layoutY translation properties in order to relocate this node to the x,y location in the parent.
  `final <T extends Event>
  void`
  `removeEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)`
  Unregisters a previously registered event filter from this target.
  `final <T extends Event>
  void`
  `removeEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)`
  Unregisters a previously registered event handler from this target.
  `void`
  `requestFocus()`
  Requests that this `Node` get the input focus, and that this `Node`'s top-level ancestor become the focused window.
  `final boolean`
  `requestFocusTraversal(TraversalDirection direction)`
  Requests to move the focus from this `Node` in the specified direction.
  `void`
  `resize(double width, double height)`
  If the node is resizable, will set its layout bounds to the specified width and height.
  `void`
  `resizeRelocate(double x, double y, double width, double height)`
  If the node is resizable, will set its layout bounds to the specified width and height.
  `final DoubleProperty`
  `rotateProperty()`
  Defines the angle of rotation about the `Node`'s center, measured in degrees.
  `final ObjectProperty<Point3D>`
  `rotationAxisProperty()`
  Defines the axis of rotation of this `Node`.
  `final DoubleProperty`
  `scaleXProperty()`
  Defines the factor by which coordinates are scaled about the center of the object along the X axis of this `Node`.
  `final DoubleProperty`
  `scaleYProperty()`
  Defines the factor by which coordinates are scaled about the center of the object along the Y axis of this `Node`.
  `final DoubleProperty`
  `scaleZProperty()`
  Defines the factor by which coordinates are scaled about the center of the object along the Z axis of this `Node`.
  `final ReadOnlyObjectProperty<Scene>`
  `sceneProperty()`
  The `Scene` that this `Node` is part of.
  `Point2D`
  `sceneToLocal(double sceneX, double sceneY)`
  Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Point2D`
  `sceneToLocal(double x, double y, boolean rootScene)`
  Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Point3D`
  `sceneToLocal(double sceneX, double sceneY, double sceneZ)`
  Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Bounds`
  `sceneToLocal(Bounds sceneBounds)`
  Transforms a rectangle from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Bounds`
  `sceneToLocal(Bounds bounds, boolean rootScene)`
  Transforms a bounds from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Point2D`
  `sceneToLocal(Point2D scenePoint)`
  Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Point2D`
  `sceneToLocal(Point2D point, boolean rootScene)`
  Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Point3D`
  `sceneToLocal(Point3D scenePoint)`
  Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`.
  `Point2D`
  `screenToLocal(double screenX, double screenY)`
  Transforms a point from the coordinate space of the `Screen` into the local coordinate space of this `Node`.
  `Bounds`
  `screenToLocal(Bounds screenBounds)`
  Transforms a rectangle from the coordinate space of the `Screen` into the local coordinate space of this `Node`.
  `Point2D`
  `screenToLocal(Point2D screenPoint)`
  Transforms a point from the coordinate space of the `Screen` into the local coordinate space of this `Node`.
  `final void`
  `setAccessibleHelp(String value)`
  Sets the value of the `accessibleHelp` property.
  `final void`
  `setAccessibleRole(AccessibleRole value)`
  Sets the value of the `accessibleRole` property.
  `final void`
  `setAccessibleRoleDescription(String value)`
  Sets the value of the `accessibleRoleDescription` property.
  `final void`
  `setAccessibleText(String value)`
  Sets the value of the `accessibleText` property.
  `final void`
  `setBlendMode(BlendMode value)`
  Sets the value of the `blendMode` property.
  `final void`
  `setCache(boolean value)`
  Sets the value of the `cache` property.
  `final void`
  `setCacheHint(CacheHint value)`
  Sets the value of the `cacheHint` property.
  `final void`
  `setClip(Node value)`
  Sets the value of the `clip` property.
  `final void`
  `setCursor(Cursor value)`
  Sets the value of the `cursor` property.
  `final void`
  `setDepthTest(DepthTest value)`
  Sets the value of the `depthTest` property.
  `final void`
  `setDisable(boolean value)`
  Sets the value of the `disable` property.
  `protected final void`
  `setDisabled(boolean value)`
  Sets the value of the `disabled` property.
  `final void`
  `setEffect(Effect value)`
  Sets the value of the `effect` property.
  `final void`
  `setEventDispatcher(EventDispatcher value)`
  Sets the value of the `eventDispatcher` property.
  `protected final <T extends Event>
  void`
  `setEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)`
  Sets the handler to use for this event type.
  `protected final void`
  `setFocused(boolean value)`
  Sets the value of the `focused` property.
  `final void`
  `setFocusTraversable(boolean value)`
  Sets the value of the `focusTraversable` property.
  `protected final void`
  `setHover(boolean value)`
  Sets the value of the `hover` property.
  `final void`
  `setId(String value)`
  Sets the value of the `id` property.
  `final void`
  `setInputMethodRequests(InputMethodRequests value)`
  Sets the value of the `inputMethodRequests` property.
  `final void`
  `setLayoutX(double value)`
  Sets the value of the `layoutX` property.
  `final void`
  `setLayoutY(double value)`
  Sets the value of the `layoutY` property.
  `final void`
  `setManaged(boolean value)`
  Sets the value of the `managed` property.
  `final void`
  `setMouseTransparent(boolean value)`
  Sets the value of the `mouseTransparent` property.
  `final void`
  `setNodeOrientation(NodeOrientation orientation)`
  Sets the value of the `nodeOrientation` property.
  `final void`
  `setOnContextMenuRequested(EventHandler<? super ContextMenuEvent> value)`
  Sets the value of the `onContextMenuRequested` property.
  `final void`
  `setOnDragDetected(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onDragDetected` property.
  `final void`
  `setOnDragDone(EventHandler<? super DragEvent> value)`
  Sets the value of the `onDragDone` property.
  `final void`
  `setOnDragDropped(EventHandler<? super DragEvent> value)`
  Sets the value of the `onDragDropped` property.
  `final void`
  `setOnDragEntered(EventHandler<? super DragEvent> value)`
  Sets the value of the `onDragEntered` property.
  `final void`
  `setOnDragExited(EventHandler<? super DragEvent> value)`
  Sets the value of the `onDragExited` property.
  `final void`
  `setOnDragOver(EventHandler<? super DragEvent> value)`
  Sets the value of the `onDragOver` property.
  `final void`
  `setOnInputMethodTextChanged(EventHandler<? super InputMethodEvent> value)`
  Sets the value of the `onInputMethodTextChanged` property.
  `final void`
  `setOnKeyPressed(EventHandler<? super KeyEvent> value)`
  Sets the value of the `onKeyPressed` property.
  `final void`
  `setOnKeyReleased(EventHandler<? super KeyEvent> value)`
  Sets the value of the `onKeyReleased` property.
  `final void`
  `setOnKeyTyped(EventHandler<? super KeyEvent> value)`
  Sets the value of the `onKeyTyped` property.
  `final void`
  `setOnMouseClicked(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMouseClicked` property.
  `final void`
  `setOnMouseDragEntered(EventHandler<? super MouseDragEvent> value)`
  Sets the value of the `onMouseDragEntered` property.
  `final void`
  `setOnMouseDragExited(EventHandler<? super MouseDragEvent> value)`
  Sets the value of the `onMouseDragExited` property.
  `final void`
  `setOnMouseDragged(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMouseDragged` property.
  `final void`
  `setOnMouseDragOver(EventHandler<? super MouseDragEvent> value)`
  Sets the value of the `onMouseDragOver` property.
  `final void`
  `setOnMouseDragReleased(EventHandler<? super MouseDragEvent> value)`
  Sets the value of the `onMouseDragReleased` property.
  `final void`
  `setOnMouseEntered(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMouseEntered` property.
  `final void`
  `setOnMouseExited(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMouseExited` property.
  `final void`
  `setOnMouseMoved(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMouseMoved` property.
  `final void`
  `setOnMousePressed(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMousePressed` property.
  `final void`
  `setOnMouseReleased(EventHandler<? super MouseEvent> value)`
  Sets the value of the `onMouseReleased` property.
  `final void`
  `setOnRotate(EventHandler<? super RotateEvent> value)`
  Sets the value of the `onRotate` property.
  `final void`
  `setOnRotationFinished(EventHandler<? super RotateEvent> value)`
  Sets the value of the `onRotationFinished` property.
  `final void`
  `setOnRotationStarted(EventHandler<? super RotateEvent> value)`
  Sets the value of the `onRotationStarted` property.
  `final void`
  `setOnScroll(EventHandler<? super ScrollEvent> value)`
  Sets the value of the `onScroll` property.
  `final void`
  `setOnScrollFinished(EventHandler<? super ScrollEvent> value)`
  Sets the value of the `onScrollFinished` property.
  `final void`
  `setOnScrollStarted(EventHandler<? super ScrollEvent> value)`
  Sets the value of the `onScrollStarted` property.
  `final void`
  `setOnSwipeDown(EventHandler<? super SwipeEvent> value)`
  Sets the value of the `onSwipeDown` property.
  `final void`
  `setOnSwipeLeft(EventHandler<? super SwipeEvent> value)`
  Sets the value of the `onSwipeLeft` property.
  `final void`
  `setOnSwipeRight(EventHandler<? super SwipeEvent> value)`
  Sets the value of the `onSwipeRight` property.
  `final void`
  `setOnSwipeUp(EventHandler<? super SwipeEvent> value)`
  Sets the value of the `onSwipeUp` property.
  `final void`
  `setOnTouchMoved(EventHandler<? super TouchEvent> value)`
  Sets the value of the `onTouchMoved` property.
  `final void`
  `setOnTouchPressed(EventHandler<? super TouchEvent> value)`
  Sets the value of the `onTouchPressed` property.
  `final void`
  `setOnTouchReleased(EventHandler<? super TouchEvent> value)`
  Sets the value of the `onTouchReleased` property.
  `final void`
  `setOnTouchStationary(EventHandler<? super TouchEvent> value)`
  Sets the value of the `onTouchStationary` property.
  `final void`
  `setOnZoom(EventHandler<? super ZoomEvent> value)`
  Sets the value of the `onZoom` property.
  `final void`
  `setOnZoomFinished(EventHandler<? super ZoomEvent> value)`
  Sets the value of the `onZoomFinished` property.
  `final void`
  `setOnZoomStarted(EventHandler<? super ZoomEvent> value)`
  Sets the value of the `onZoomStarted` property.
  `final void`
  `setOpacity(double value)`
  Sets the value of the `opacity` property.
  `final void`
  `setPickOnBounds(boolean value)`
  Sets the value of the `pickOnBounds` property.
  `protected final void`
  `setPressed(boolean value)`
  Sets the value of the `pressed` property.
  `final void`
  `setRotate(double value)`
  Sets the value of the `rotate` property.
  `final void`
  `setRotationAxis(Point3D value)`
  Sets the value of the `rotationAxis` property.
  `final void`
  `setScaleX(double value)`
  Sets the value of the `scaleX` property.
  `final void`
  `setScaleY(double value)`
  Sets the value of the `scaleY` property.
  `final void`
  `setScaleZ(double value)`
  Sets the value of the `scaleZ` property.
  `final void`
  `setStyle(String value)`
  A string representation of the CSS style associated with this specific `Node`.
  `final void`
  `setTranslateX(double value)`
  Sets the value of the `translateX` property.
  `final void`
  `setTranslateY(double value)`
  Sets the value of the `translateY` property.
  `final void`
  `setTranslateZ(double value)`
  Sets the value of the `translateZ` property.
  `void`
  `setUserData(Object value)`
  Convenience method for setting a single Object property that can be retrieved at a later date.
  `final void`
  `setViewOrder(double value)`
  Sets the value of the `viewOrder` property.
  `final void`
  `setVisible(boolean value)`
  Sets the value of the `visible` property.
  `WritableImage`
  `snapshot(SnapshotParameters params, WritableImage image)`
  Takes a snapshot of this node and returns the rendered image when it is ready.
  `void`
  `snapshot(Callback<SnapshotResult, Void> callback, SnapshotParameters params, WritableImage image)`
  Takes a snapshot of this node 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 `Node`.
  `void`
  `startFullDrag()`
  Starts a full press-drag-release gesture with this node as gesture source.
  `final StringProperty`
  `styleProperty()`
  A string representation of the CSS style associated with this specific `Node`.
  `void`
  `toBack()`
  Moves this `Node` to the back of its sibling nodes in terms of z-order.
  `void`
  `toFront()`
  Moves this `Node` to the front of its sibling nodes in terms of z-order.
  `String`
  `toString()`
  Returns a string representation for the object.
  `final DoubleProperty`
  `translateXProperty()`
  Defines the x coordinate of the translation that is added to this `Node`'s transform.
  `final DoubleProperty`
  `translateYProperty()`
  Defines the y coordinate of the translation that is added to this `Node`'s transform.
  `final DoubleProperty`
  `translateZProperty()`
  Defines the Z coordinate of the translation that is added to the transformed coordinates of this `Node`.
  `boolean`
  `usesMirroring()`
  Determines whether a node should be mirrored when node orientation is right-to-left.
  `final DoubleProperty`
  `viewOrderProperty()`
  Defines the rendering and picking order of this `Node` within its parent.
  `final BooleanProperty`
  `visibleProperty()`
  Specifies whether this `Node` and any subnodes should be rendered as part of the scene graph.

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

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

  ### Methods declared in interface javafx.css.Styleable

  `getStyleableNode`

- ## Property Details

  - ### parent

    public final ReadOnlyObjectProperty<Parent> parentProperty
    The parent of this `Node`. If this `Node` has not been added to a scene graph, then parent will be null.
    Default value:
      null
    See Also:
      - `getParent()`
      - `parentProperty()`

  - ### scene

    public final ReadOnlyObjectProperty<Scene> sceneProperty
    The `Scene` that this `Node` is part of. If the Node is not part of a scene, then this variable will be null.
    Default value:
      null
    See Also:
      - `getScene()`
      - `sceneProperty()`

  - ### id

    public final StringProperty idProperty
    The id of this `Node`. This simple string identifier is useful for finding a specific Node within the scene graph. While the id of a Node should be unique within the scene graph, this uniqueness is not enforced. This is analogous to the "id" attribute on an HTML element (CSS ID Specification).

    For example, if a Node is given the id of "myId", then the lookup method can be used to find this node as follows: `scene.lookup("#myId");`.

    Default value:
      null
    See Also:
      - `getId()`
      - `setId(String)`
      - `idProperty()`

  - ### style

    public final StringProperty styleProperty
    A string representation of the CSS style associated with this specific `Node`. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.
    Default value:
      empty string
    See Also:
      - `getStyle()`
      - `setStyle(String)`
      - `styleProperty()`

  - ### visible

    public final BooleanProperty visibleProperty
    Specifies whether this `Node` and any subnodes should be rendered as part of the scene graph. A node may be visible and yet not be shown in the rendered scene if, for instance, it is off the screen or obscured by another Node. Invisible nodes never receive mouse events or keyboard focus and never maintain keyboard focus when they become invisible.
    Default value:
      true
    See Also:
      - `isVisible()`
      - `setVisible(boolean)`
      - `visibleProperty()`

  - ### cursor

    public final ObjectProperty<Cursor> cursorProperty
    Defines the mouse cursor for this `Node` and subnodes. If null, then the cursor of the first parent node with a non-null cursor will be used. If no Node in the scene graph defines a cursor, then the cursor of the `Scene` will be used.
    Default value:
      null
    See Also:
      - `getCursor()`
      - `setCursor(Cursor)`
      - `cursorProperty()`

  - ### opacity

    public final DoubleProperty opacityProperty
    Specifies how opaque (that is, solid) the `Node` appears. A Node with 0% opacity is fully translucent. That is, while it is still `visible` and rendered, you generally won't be able to see it. The exception to this rule is when the `Node` is combined with a blending mode and blend effect in which case a translucent Node may still have an impact in rendering. An opacity of 50% will render the node as being 50% transparent.

    A `visible` node with any opacity setting still receives mouse events and can receive keyboard focus. For example, if you want to have a large invisible rectangle overlay all `Node`s in the scene graph in order to intercept mouse events but not be visible to the user, you could create a large `Rectangle` that had an opacity of 0%.

    Opacity is specified as a value between 0 and 1. Values less than 0 are treated as 0, values greater than 1 are treated as 1.

    On some platforms ImageView might not support opacity variable.

    There is a known limitation of mixing opacity < 1.0 with a 3D Transform. Opacity/Blending is essentially a 2D image operation. The result of an opacity < 1.0 set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      1.0
    See Also:
      - `getOpacity()`
      - `setOpacity(double)`
      - `opacityProperty()`

  - ### blendMode

    public final ObjectProperty<BlendMode> blendModeProperty
    The `BlendMode` used to blend this individual node into the scene behind it. If this node is a `Group`, then all of the children will be composited individually into a temporary buffer using their own blend modes and then that temporary buffer will be composited into the scene using the specified blend mode. A value of `null` is treated as pass-through. This means no effect on a parent (such as a `Group`), and the equivalent of `SRC_OVER` for a single `Node`.
    Default value:
      `null`
    See Also:
      - `getBlendMode()`
      - `setBlendMode(BlendMode)`
      - `blendModeProperty()`

  - ### clip

    public final ObjectProperty<Node> clipProperty
    Specifies a `Node` to use to define the clipping shape for this Node. This clipping Node is not a child of this `Node` in the scene graph sense. Rather, it is used to define the clip for this `Node`.

    For example, you can use an `ImageView` Node as a mask to represent the Clip. Or you could use one of the geometric shape Nodes such as `Rectangle` or `Circle`. Or you could use a `Text` node to represent the Clip.

    See the class documentation for `Node` for scene graph structure restrictions on setting the clip. If these restrictions are violated by a change to the clip variable, the change is ignored and the previous value of the clip variable is restored.

    Note that this is a conditional feature. See `ConditionalFeature.SHAPE_CLIP` for more information.

    There is a known limitation of mixing Clip with a 3D Transform. Clipping is essentially a 2D image operation. The result of a Clip set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    See Also:
      - `getClip()`
      - `setClip(Node)`
      - `clipProperty()`

  - ### cache

    public final BooleanProperty cacheProperty
    A performance hint to the system to indicate that this `Node` should be cached as a bitmap. Rendering a bitmap representation of a node will be faster than rendering primitives in many cases, especially in the case of primitives with effects applied (such as a blur). However, it also increases memory usage. This hint indicates whether that trade-off (increased memory usage for increased performance) is worthwhile. Also note that on some platforms such as GPU accelerated platforms there is little benefit to caching Nodes as bitmaps when blurs and other effects are used since they are very fast to render on the GPU. The `cacheHintProperty()` variable provides additional options for enabling more aggressive bitmap caching.

    Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      false
    See Also:
      - `isCache()`
      - `setCache(boolean)`
      - `cacheProperty()`

  - ### cacheHint

    public final ObjectProperty<CacheHint> cacheHintProperty
    Additional hint for controlling bitmap caching.

    Under certain circumstances, such as animating nodes that are very expensive to render, it is desirable to be able to perform transformations on the node without having to regenerate the cached bitmap. An option in such cases is to perform the transforms on the cached bitmap itself.

    This technique can provide a dramatic improvement to animation performance, though may also result in a reduction in visual quality. The `cacheHint` variable provides a hint to the system about how and when that trade-off (visual quality for animation performance) is acceptable.

    It is possible to enable the cacheHint only at times when your node is animating. In this way, expensive nodes can appear on screen with full visual quality, yet still animate smoothly.

    Example:

                expensiveNode.setCache(true);
                expensiveNode.setCacheHint(CacheHint.QUALITY);
                ...
                // Do an animation
                expensiveNode.setCacheHint(CacheHint.SPEED);
                new Timeline(
                    new KeyFrame(Duration.seconds(2),
                        new KeyValue(expensiveNode.scaleXProperty(), 2.0),
                        new KeyValue(expensiveNode.scaleYProperty(), 2.0),
                        new KeyValue(expensiveNode.rotateProperty(), 360),
                        new KeyValue(expensiveNode.cacheHintProperty(), CacheHint.QUALITY)
                    )
                ).play();

    Note that `cacheHint` is only a hint to the system. Depending on the details of the node or the transform, this hint may be ignored.

    If `Node.cache` is false, cacheHint is ignored. Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      CacheHint.DEFAULT
    See Also:
      - `getCacheHint()`
      - `setCacheHint(CacheHint)`
      - `cacheHintProperty()`

  - ### effect

    public final ObjectProperty<Effect> effectProperty
    Specifies an effect to apply to this `Node`.

    Note that this is a conditional feature. See `ConditionalFeature.EFFECT` for more information.

    There is a known limitation of mixing Effect with a 3D Transform. Effect is essentially a 2D image operation. The result of an Effect set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    See Also:
      - `getEffect()`
      - `setEffect(Effect)`
      - `effectProperty()`

  - ### depthTest

    public final ObjectProperty<DepthTest> depthTestProperty
    Indicates whether depth testing is used when rendering this node. If the depthTest flag is `DepthTest.DISABLE`, then depth testing is disabled for this node. If the depthTest flag is `DepthTest.ENABLE`, then depth testing is enabled for this node. If the depthTest flag is `DepthTest.INHERIT`, then depth testing is enabled for this node if it is enabled for the parent node or the parent node is null.

    The depthTest flag is only used when the depthBuffer flag for the `Scene` is true (meaning that the `Scene` has an associated depth buffer)

    Depth test comparison is only done among nodes with depthTest enabled. A node with depthTest disabled does not read, test, or write the depth buffer, that is to say its Z value will not be considered for depth testing with other nodes.

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

    See the constructor in Scene with depthBuffer as one of its input arguments.

    Default value:
      INHERIT
    See Also:
      - `getDepthTest()`
      - `setDepthTest(DepthTest)`
      - `depthTestProperty()`

  - ### disable

    public final BooleanProperty disableProperty
    Defines the individual disabled state of this `Node`. Setting `disable` to true will cause this `Node` and any subnodes to become disabled. This property should be used only to set the disabled state of a `Node`. For querying the disabled state of a `Node`, the `disabled` property should instead be used, since it is possible that a `Node` was disabled as a result of an ancestor being disabled even if the individual `disable` state on this `Node` is `false`.
    Default value:
      false
    See Also:
      - `isDisable()`
      - `setDisable(boolean)`
      - `disableProperty()`

  - ### pickOnBounds

    public final BooleanProperty pickOnBoundsProperty
    Defines how the picking computation is done for this node when triggered by a `MouseEvent` or a `contains` function call. If `pickOnBounds` is `true`, then picking is computed by intersecting with the bounds of this node, else picking is computed by intersecting with the geometric shape of this node. The default value of this property is `false` unless overridden by a subclass. The default value is `true` for `Region`.
    Default value:
      false; true for `Region`
    See Also:
      - `isPickOnBounds()`
      - `setPickOnBounds(boolean)`
      - `pickOnBoundsProperty()`

  - ### disabled

    public final ReadOnlyBooleanProperty disabledProperty
    Indicates whether or not this `Node` is disabled. A `Node` will become disabled if `disable` is set to `true` on either itself or one of its ancestors in the scene graph.

    A disabled `Node` should render itself differently to indicate its disabled state to the user. Such disabled rendering is dependent on the implementation of the `Node`. The shape classes contained in `javafx.scene.shape` do not implement such rendering by default, therefore applications using shapes for handling input must implement appropriate disabled rendering themselves. The user-interface controls defined in `javafx.scene.control` will implement disabled-sensitive rendering, however.

    A disabled `Node` does not receive mouse or key events.

    Default value:
      false
    See Also:
      - `isDisabled()`
      - `setDisabled(boolean)`
      - `disabledProperty()`

  - ### onDragEntered

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragEnteredProperty
    Defines a function to be called when drag gesture enters this `Node`.
    See Also:
      - `getOnDragEntered()`
      - `setOnDragEntered(EventHandler)`
      - `onDragEnteredProperty()`

  - ### onDragExited

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragExitedProperty
    Defines a function to be called when drag gesture exits this `Node`.
    See Also:
      - `getOnDragExited()`
      - `setOnDragExited(EventHandler)`
      - `onDragExitedProperty()`

  - ### onDragOver

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragOverProperty
    Defines a function to be called when drag gesture progresses within this `Node`.
    See Also:
      - `getOnDragOver()`
      - `setOnDragOver(EventHandler)`
      - `onDragOverProperty()`

  - ### onDragDropped

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragDroppedProperty
    Defines a function to be called when the mouse button is released on this `Node` during drag and drop gesture. Transfer of data from the `DragEvent`'s `dragboard` should happen in this function.
    See Also:
      - `getOnDragDropped()`
      - `setOnDragDropped(EventHandler)`
      - `onDragDroppedProperty()`

  - ### onDragDone

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragDoneProperty
    Defines a function to be called when this `Node` 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.
    See Also:
      - `getOnDragDone()`
      - `setOnDragDone(EventHandler)`
      - `onDragDoneProperty()`

  - ### managed

    public final BooleanProperty managedProperty
    Defines whether or not this node's layout will be managed by its parent. If the node is managed, its parent will factor the node's geometry into its own preferred size and `layoutBounds` calculations and will lay it out during the scene's layout pass. If a managed node's layoutBounds changes, it will automatically trigger relayout up the scene-graph to the nearest layout root (which is typically the scene's root node).

    If the node is unmanaged, its parent will ignore the child in both preferred size computations and layout. Changes in layoutBounds will not trigger relayout above it. If an unmanaged node is of type `Parent`, it will act as a "layout root", meaning that calls to `Parent.requestLayout()` beneath it will cause only the branch rooted by the node to be relayed out, thereby isolating layout changes to that root and below. It's the application's responsibility to set the size and position of an unmanaged node.

    By default all nodes are managed.

    See Also:
      - `isManaged()`
      - `setManaged(boolean)`
      - `managedProperty()`

  - ### layoutX

    public final DoubleProperty layoutXProperty
    Defines the x coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minX` position (which might not be 0) to the desired location.

    For example, if `textnode` should be positioned at `finalX`

             textnode.setLayoutX(finalX - textnode.getLayoutBounds().getMinX());

    Failure to subtract `layoutBounds minX` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutX directly.

    The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

    If the node is managed and has a `Region` as its parent, then the layout region will set `layoutX` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutX` directly to position it.

    See Also:
      - `getLayoutX()`
      - `setLayoutX(double)`
      - `layoutXProperty()`

  - ### layoutY

    public final DoubleProperty layoutYProperty
    Defines the y coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minY` position (which might not be 0) to the desired location.

    For example, if `textnode` should be positioned at `finalY`

             textnode.setLayoutY(finalY - textnode.getLayoutBounds().getMinY());

    Failure to subtract `layoutBounds minY` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutY directly.

    The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

    If the node is managed and has a `Region` as its parent, then the region will set `layoutY` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutY` directly to position it.

    See Also:
      - `getLayoutY()`
      - `setLayoutY(double)`
      - `layoutYProperty()`

  - ### boundsInParent

    public final ReadOnlyObjectProperty<Bounds> boundsInParentProperty
    The rectangular bounds of this `Node` in the parent coordinate system. `boundsInParent` is calculated by taking the local bounds and applying the node transforms as specified in the Transformations section of the class doc.

    The resulting bounds will be conceptually in the coordinate space of the `Node`'s parent, however, the node need not have a parent to calculate these bounds.

    Note that this method does not take the node's visibility into account; the computation is based on the geometry of this `Node` only.

    This property will always have a non-null value.

    Note that `boundsInParent` is automatically recomputed whenever the geometry of a node changes, or when any of the following the change: transforms `ObservableList`, any of the translate, layout or scale variables, or the rotate variable. For this reason, it is an error to bind any of these values in a node to an expression that depends upon this variable. For example, the x or y variables of a shape, or `translateX`, `translateY` should never be bound to `boundsInParent` for the purpose of positioning the node.

    See also the Bounding Rectangles section.

    See Also:
      - `getBoundsInParent()`
      - `boundsInParentProperty()`

  - ### boundsInLocal

    public final ReadOnlyObjectProperty<Bounds> boundsInLocalProperty
    The rectangular bounds of this `Node` in the node's untransformed local coordinate space. For nodes that extend `Shape`, the local bounds will also include space required for a non-zero stroke that may fall outside the shape's geometry that is defined by position and size attributes. The local bounds will also include any clipping set with `clip` as well as effects set with `effect`.

    Note that this method does not take the node's visibility into account; the computation is based on the geometry of this `Node` only.

    This property will always have a non-null value.

    Note that boundsInLocal is automatically recomputed whenever the geometry of a node changes. For this reason, it is an error to bind any of these values in a node to an expression that depends upon this variable. For example, the x or y variables of a shape should never be bound to boundsInLocal for the purpose of positioning the node.

    See Also:
      - `getBoundsInLocal()`
      - `boundsInLocalProperty()`

  - ### layoutBounds

    public final ReadOnlyObjectProperty<Bounds> layoutBoundsProperty
    The rectangular bounds that should be used for layout calculations for this node. `layoutBounds` may differ from the visual bounds of the node and is computed differently depending on the node type.

    If the node type is resizable (`Region`, `Control`, or `WebView`) then the layoutBounds will always be `0,0 width x height`. If the node type is not resizable (`Shape`, `Text`, or `Group`), then the `layoutBounds` are computed based on the node's geometric properties and does not include the node's clip, effect, or transforms. See individual class documentation for details.

    Note that the `layoutX`, `layoutY`, `translateX`, and `translateY` variables are not included in the layoutBounds. This is important because layout code must first determine the current size and location of the node (using `layoutBounds`) and then set `layoutX` and `layoutY` to adjust the translation of the node so that it will have the desired layout position.

    Because the computation of layoutBounds is often tied to a node's geometric variables, it is an error to bind any such variables to an expression that depends upon `layoutBounds`. For example, the x or y variables of a shape should never be bound to `layoutBounds` for the purpose of positioning the node.

    Note that for 3D shapes, the layout bounds is actually a rectangular box with X, Y, and Z values, although only X and Y are used in layout calculations.

    The `layoutBounds` will never be null.

    See Also:
      - `getLayoutBounds()`
      - `layoutBoundsProperty()`

  - ### viewOrder

    public final DoubleProperty viewOrderProperty
    Defines the rendering and picking order of this `Node` within its parent.

    This property is used to alter the rendering and picking order of a node within its parent without reordering the parent's `children` list. For example, this can be used as a more efficient way to implement transparency sorting. To do this, an application can assign the viewOrder value of each node to the computed distance between that node and the viewer.

    The parent will traverse its `children` in decreasing `viewOrder` order. This means that a child with a lower `viewOrder` will be in front of a child with a higher `viewOrder`. If two children have the same `viewOrder`, the parent will traverse them in the order they appear in the parent's `children` list.

    However, `viewOrder` does not alter the layout and focus traversal order of this Node within its parent. A parent always traverses its `children` list in order when doing layout or focus traversal.

    Default value:
      0.0
    Since:
      9
    See Also:
      - `getViewOrder()`
      - `setViewOrder(double)`
      - `viewOrderProperty()`

  - ### translateX

    public final DoubleProperty translateXProperty
    Defines the x coordinate of the translation that is added to this `Node`'s transform.

    The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

    This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    See Also:
      - `getTranslateX()`
      - `setTranslateX(double)`
      - `translateXProperty()`

  - ### translateY

    public final DoubleProperty translateYProperty
    Defines the y coordinate of the translation that is added to this `Node`'s transform.

    The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

    This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    See Also:
      - `getTranslateY()`
      - `setTranslateY(double)`
      - `translateYProperty()`

  - ### translateZ

    public final DoubleProperty translateZProperty
    Defines the Z coordinate of the translation that is added to the transformed coordinates of this `Node`. This value will be added to any translation defined by the `transforms` ObservableList and `layoutZ`.

    This variable can be used to alter the location of a Node without disturbing its layout bounds, which makes it useful for animating a node's location.

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

    Default value:
      0
    See Also:
      - `getTranslateZ()`
      - `setTranslateZ(double)`
      - `translateZProperty()`

  - ### scaleX

    public final DoubleProperty scaleXProperty
    Defines the factor by which coordinates are scaled about the center of the object along the X axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

    This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

    The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    See Also:
      - `getScaleX()`
      - `setScaleX(double)`
      - `scaleXProperty()`

  - ### scaleY

    public final DoubleProperty scaleYProperty
    Defines the factor by which coordinates are scaled about the center of the object along the Y axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

    This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

    The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    See Also:
      - `getScaleY()`
      - `setScaleY(double)`
      - `scaleYProperty()`

  - ### scaleZ

    public final DoubleProperty scaleZProperty
    Defines the factor by which coordinates are scaled about the center of the object along the Z axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

    This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

    The pivot point about which the scale occurs is the center of the rectangular bounds formed by taking `boundsInLocal` and applying all the transforms in the `transforms` ObservableList.

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

    Default value:
      1.0
    See Also:
      - `getScaleZ()`
      - `setScaleZ(double)`
      - `scaleZProperty()`

  - ### rotate

    public final DoubleProperty rotateProperty
    Defines the angle of rotation about the `Node`'s center, measured in degrees. This is used to rotate the `Node`.

    This rotation factor is not included in `layoutBounds` by default, which makes it ideal for rotating the entire node after all effects and transforms have been taken into account.

    The pivot point about which the rotation occurs is the center of the untransformed `layoutBounds`.

    Note that because the pivot point is computed as the center of this `Node`'s layout bounds, any change to the layout bounds will cause the pivot point to change, which can move the object. For a leaf node, any change to the geometry will cause the layout bounds to change. For a group node, any change to any of its children, including a change in a child's geometry, clip, effect, position, orientation, or scale, will cause the group's layout bounds to change. If this movement of the pivot point is not desired, applications should instead use the Node's `transforms` ObservableList, and add a `Rotate` transform, which has a user-specifiable pivot point.

    Default value:
      0.0
    See Also:
      - `getRotate()`
      - `setRotate(double)`
      - `rotateProperty()`

  - ### rotationAxis

    public final ObjectProperty<Point3D> rotationAxisProperty
    Defines the axis of rotation of this `Node`.

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

    Default value:
      Rotate.Z_AXIS
    See Also:
      - `getRotationAxis()`
      - `setRotationAxis(Point3D)`
      - `rotationAxisProperty()`

  - ### localToParentTransform

    public final ReadOnlyObjectProperty<Transform> localToParentTransformProperty
    An affine transform that holds the computed local-to-parent transform. This is the concatenation of all transforms in this node, including all of the convenience transforms.
    Since:
      JavaFX 2.2
    See Also:
      - `getLocalToParentTransform()`
      - `localToParentTransformProperty()`

  - ### localToSceneTransform

    public final ReadOnlyObjectProperty<Transform> localToSceneTransformProperty
    An affine transform that holds the computed local-to-scene transform. This is the concatenation of all transforms in this node's parents and in this node, including all of the convenience transforms up to the root. If this node is in a `SubScene`, this property represents transforms up to the subscene, not the root scene.

    Note that when you register a listener or a binding to this property, it needs to listen for invalidation on all its parents to the root node. This means that registering a listener on this property on many nodes may negatively affect performance of transformation changes in their common parents.

    Since:
      JavaFX 2.2
    See Also:
      - `getLocalToSceneTransform()`
      - `localToSceneTransformProperty()`

  - ### nodeOrientation

    public final ObjectProperty<NodeOrientation> nodeOrientationProperty
    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.
    Default value:
      `NodeOrientation.INHERIT`
    Since:
      JavaFX 8.0
    See Also:
      - `getNodeOrientation()`
      - `setNodeOrientation(NodeOrientation)`
      - `nodeOrientationProperty()`

  - ### effectiveNodeOrientation

    public final ReadOnlyObjectProperty<NodeOrientation> effectiveNodeOrientationProperty
    The effective orientation of a node resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
    Since:
      JavaFX 8.0
    See Also:
      - `getEffectiveNodeOrientation()`
      - `effectiveNodeOrientationProperty()`

  - ### mouseTransparent

    public final BooleanProperty mouseTransparentProperty
    If `true`, this node (together with all its children) is completely transparent to mouse events. When choosing target for mouse event, nodes with `mouseTransparent` set to `true` and their subtrees won't be taken into account.
    See Also:
      - `isMouseTransparent()`
      - `setMouseTransparent(boolean)`
      - `mouseTransparentProperty()`

  - ### hover

    public final ReadOnlyBooleanProperty hoverProperty
    Whether or not this `Node` is being hovered over. Typically this is due to the mouse being over the node, though it could be due to a pen hovering on a graphics tablet or other form of input.

    Note that current implementation of hover relies on mouse enter and exit events to determine whether this Node is in the hover state; this means that this feature is currently supported only on systems that have a mouse. Future implementations may provide alternative means of supporting hover.

    Default value:
      false
    See Also:
      - `isHover()`
      - `setHover(boolean)`
      - `hoverProperty()`

  - ### pressed

    public final ReadOnlyBooleanProperty pressedProperty
    Whether or not the `Node` is pressed. Typically this is true when the primary mouse button is down, though subclasses may define other mouse button state or key state to cause the node to be "pressed".
    Default value:
      false
    See Also:
      - `isPressed()`
      - `setPressed(boolean)`
      - `pressedProperty()`

  - ### onContextMenuRequested

    public final ObjectProperty<EventHandler<? super ContextMenuEvent>> onContextMenuRequestedProperty
    Defines a function to be called when a context menu has been requested on this `Node`.
    Since:
      JavaFX 2.1
    See Also:
      - `getOnContextMenuRequested()`
      - `setOnContextMenuRequested(EventHandler)`
      - `onContextMenuRequestedProperty()`

  - ### 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 `Node`.
    See Also:
      - `getOnMouseClicked()`
      - `setOnMouseClicked(EventHandler)`
      - `onMouseClickedProperty()`

  - ### onMouseDragged

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseDraggedProperty
    Defines a function to be called when a mouse button is pressed on this `Node` and then dragged.
    See Also:
      - `getOnMouseDragged()`
      - `setOnMouseDragged(EventHandler)`
      - `onMouseDraggedProperty()`

  - ### onMouseEntered

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseEnteredProperty
    Defines a function to be called when the mouse enters this `Node`.
    See Also:
      - `getOnMouseEntered()`
      - `setOnMouseEntered(EventHandler)`
      - `onMouseEnteredProperty()`

  - ### onMouseExited

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseExitedProperty
    Defines a function to be called when the mouse exits this `Node`.
    See Also:
      - `getOnMouseExited()`
      - `setOnMouseExited(EventHandler)`
      - `onMouseExitedProperty()`

  - ### onMouseMoved

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseMovedProperty
    Defines a function to be called when mouse cursor moves within this `Node` but no buttons have been pushed.
    See Also:
      - `getOnMouseMoved()`
      - `setOnMouseMoved(EventHandler)`
      - `onMouseMovedProperty()`

  - ### onMousePressed

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMousePressedProperty
    Defines a function to be called when a mouse button has been pressed on this `Node`.
    See Also:
      - `getOnMousePressed()`
      - `setOnMousePressed(EventHandler)`
      - `onMousePressedProperty()`

  - ### onMouseReleased

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseReleasedProperty
    Defines a function to be called when a mouse button has been released on this `Node`.
    See Also:
      - `getOnMouseReleased()`
      - `setOnMouseReleased(EventHandler)`
      - `onMouseReleasedProperty()`

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

  - ### onMouseDragOver

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragOverProperty
    Defines a function to be called when a full press-drag-release gesture progresses within this `Node`.
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragOver()`
      - `setOnMouseDragOver(EventHandler)`
      - `onMouseDragOverProperty()`

  - ### onMouseDragReleased

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragReleasedProperty
    Defines a function to be called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`.
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragReleased()`
      - `setOnMouseDragReleased(EventHandler)`
      - `onMouseDragReleasedProperty()`

  - ### onMouseDragEntered

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragEnteredProperty
    Defines a function to be called when a full press-drag-release gesture enters this `Node`.
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragEntered()`
      - `setOnMouseDragEntered(EventHandler)`
      - `onMouseDragEnteredProperty()`

  - ### onMouseDragExited

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragExitedProperty
    Defines a function to be called when a full press-drag-release gesture leaves this `Node`.
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragExited()`
      - `setOnMouseDragExited(EventHandler)`
      - `onMouseDragExitedProperty()`

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

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

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

  - ### onRotationStarted

    public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationStartedProperty
    Defines a function to be called when a rotation gesture is detected.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotationStarted()`
      - `setOnRotationStarted(EventHandler)`
      - `onRotationStartedProperty()`

  - ### onRotate

    public final ObjectProperty<EventHandler<? super RotateEvent>> onRotateProperty
    Defines a function to be called when user performs a rotation action.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotate()`
      - `setOnRotate(EventHandler)`
      - `onRotateProperty()`

  - ### onRotationFinished

    public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationFinishedProperty
    Defines a function to be called when a rotation gesture ends.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotationFinished()`
      - `setOnRotationFinished(EventHandler)`
      - `onRotationFinishedProperty()`

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

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

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

  - ### onSwipeUp

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeUpProperty
    Defines a function to be called when an upward swipe gesture centered over this node happens.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeUp()`
      - `setOnSwipeUp(EventHandler)`
      - `onSwipeUpProperty()`

  - ### onSwipeDown

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeDownProperty
    Defines a function to be called when a downward swipe gesture centered over this node happens.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeDown()`
      - `setOnSwipeDown(EventHandler)`
      - `onSwipeDownProperty()`

  - ### onSwipeLeft

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeLeftProperty
    Defines a function to be called when a leftward swipe gesture centered over this node happens.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeLeft()`
      - `setOnSwipeLeft(EventHandler)`
      - `onSwipeLeftProperty()`

  - ### onSwipeRight

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeRightProperty
    Defines a function to be called when an rightward swipe gesture centered over this node happens.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeRight()`
      - `setOnSwipeRight(EventHandler)`
      - `onSwipeRightProperty()`

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

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

  - ### onTouchReleased

    public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchReleasedProperty
    Defines a function to be called when a touch point is released.
    Since:
      JavaFX 2.2
    See Also:
      - `getOnTouchReleased()`
      - `setOnTouchReleased(EventHandler)`
      - `onTouchReleasedProperty()`

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

  - ### onKeyPressed

    public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyPressedProperty
    Defines a function to be called when this `Node` or its child `Node` 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)`
      - `onKeyPressedProperty()`

  - ### onKeyReleased

    public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyReleasedProperty
    Defines a function to be called when this `Node` or its child `Node` 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)`
      - `onKeyReleasedProperty()`

  - ### onKeyTyped

    public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyTypedProperty
    Defines a function to be called when this `Node` or its child `Node` 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)`
      - `onKeyTypedProperty()`

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

  - ### inputMethodRequests

    public final ObjectProperty<InputMethodRequests> inputMethodRequestsProperty
    Property holding InputMethodRequests.
    See Also:
      - `getInputMethodRequests()`
      - `setInputMethodRequests(InputMethodRequests)`
      - `inputMethodRequestsProperty()`

  - ### focused

    public final ReadOnlyBooleanProperty focusedProperty
    Indicates whether this `Node` currently has the input focus. To have the input focus, a node must be the `Scene`'s focus owner, and the scene must be in a `Stage` that is visible and active. See `requestFocus()` for more information.
    Default value:
      false
    See Also:
      - `isFocused()`
      - `setFocused(boolean)`
      - `focusedProperty()`

  - ### focusVisible

    public final ReadOnlyBooleanProperty focusVisibleProperty
    Indicates whether this `Node` should visibly indicate focus. This flag is set when the node acquires input focus via keyboard navigation, and it is cleared when the node loses focus or when `requestFocus()` is called.
    Default value:
      false
    Since:
      19
    See Also:
      - `isFocusVisible()`
      - `focusVisibleProperty()`

  - ### focusWithin

    public final ReadOnlyBooleanProperty focusWithinProperty
    Indicates whether this `Node` or any of its descendants currently has the input focus.
    Default value:
      false
    Since:
      19
    See Also:
      - `isFocusWithin()`
      - `focusWithinProperty()`

  - ### focusTraversable

    public final BooleanProperty focusTraversableProperty
    Specifies whether this `Node` should be a part of focus traversal cycle. When this property is `true` focus can be moved to this `Node` and from this `Node` using regular focus traversal keys. On a desktop such keys are usually `TAB` for moving focus forward and `SHIFT+TAB` for moving focus backward. When a `Scene` is created, the system gives focus to a `Node` whose `focusTraversable` variable is true and that is eligible to receive the focus, unless the focus had been set explicitly via a call to `requestFocus()`.
    Default value:
      false
    See Also:
      - `isFocusTraversable()`
      - `setFocusTraversable(boolean)`
      - `focusTraversableProperty()`

  - ### eventDispatcher

    public final ObjectProperty<EventDispatcher> eventDispatcherProperty
    Specifies the event dispatcher for this node. The default event dispatcher sends the received events to the registered event handlers and filters. When replacing the value with a new `EventDispatcher`, the new dispatcher should forward events to the replaced dispatcher to maintain the node's default event handling behavior.
    See Also:
      - `getEventDispatcher()`
      - `setEventDispatcher(EventDispatcher)`
      - `eventDispatcherProperty()`

  - ### accessibleRole

    public final ObjectProperty<AccessibleRole> accessibleRoleProperty
    The accessible role for this `Node`.

    The screen reader uses the role of a node to determine the attributes and actions that are supported.

    Default value:
      `AccessibleRole.NODE`
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleRole()`
      - `setAccessibleRole(AccessibleRole)`
      - `accessibleRoleProperty()`

  - ### accessibleRoleDescription

    public final ObjectProperty<String> accessibleRoleDescriptionProperty
    The role description of this `Node`.

    Normally, when a role is provided for a node, the screen reader speaks the role as well as the contents of the node. When this value is set, it is possible to override the default. This is useful because the set of roles is predefined. For example, it is possible to set the role of a node to be a button, but have the role description be arbitrary text.

    Default value:
      null
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleRoleDescription()`
      - `setAccessibleRoleDescription(String)`
      - `accessibleRoleDescriptionProperty()`

  - ### accessibleText

    public final ObjectProperty<String> accessibleTextProperty
    The accessible text for this `Node`.

    This property is used to set the text that the screen reader will speak. If a node normally speaks text, that text is overriden. For example, a button usually speaks using the text in the control but will no longer do this when this value is set.

    Default value:
      null
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleText()`
      - `setAccessibleText(String)`
      - `accessibleTextProperty()`

  - ### accessibleHelp

    public final ObjectProperty<String> accessibleHelpProperty
    The accessible help text for this `Node`.

    The help text provides a more detailed description of the accessible text for a node. By default, if the node has a tool tip, this text is used.

    Default value:
      null
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleHelp()`
      - `setAccessibleHelp(String)`
      - `accessibleHelpProperty()`

- ## Field Details

  - ### BASELINE_OFFSET_SAME_AS_HEIGHT

    public static final double BASELINE_OFFSET_SAME_AS_HEIGHT
    This is a special value that might be returned by `getBaselineOffset()`. This means that the Parent (layout Pane) of this Node should use the height of this Node as a baseline.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Node

    protected Node()
    Creates a new instance of Node.

- ## Method Details

  - ### getProperties

    public final ObservableMap<Object,Object> getProperties()
    Returns an observable map of properties on this node for use primarily by application developers.
    API Note:
      Layout managers use this map as well to specify layout constraints on the node, such as `HBox#setHgrow`, so the developer should be mindful of clearing the map or overriding its values. These entries are not removed automatically if the node is removed from the layout manager, so unused entries can exist throughout the life of the node.
    Returns:
      an observable map of properties on this node for use primarily by application developers

  - ### hasProperties

    public boolean hasProperties()
    Tests if Node has properties.
    Returns:
      true if node has properties.

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

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

  - ### getParent

    public final Parent getParent()
    Gets the value of the `parent` property.
    Property description:
      The parent of this `Node`. If this `Node` has not been added to a scene graph, then parent will be null.
    Default value:
      null
    Returns:
      the value of the `parent` property
    See Also:
      - `parentProperty()`

  - ### parentProperty

    public final ReadOnlyObjectProperty<Parent> parentProperty()
    The parent of this `Node`. If this `Node` has not been added to a scene graph, then parent will be null.
    Default value:
      null
    Returns:
      the `parent` property
    See Also:
      - `getParent()`

  - ### getScene

    public final Scene getScene()
    Gets the value of the `scene` property.
    Property description:
      The `Scene` that this `Node` is part of. If the Node is not part of a scene, then this variable will be null.
    Default value:
      null
    Returns:
      the value of the `scene` property
    See Also:
      - `sceneProperty()`

  - ### sceneProperty

    public final ReadOnlyObjectProperty<Scene> sceneProperty()
    The `Scene` that this `Node` is part of. If the Node is not part of a scene, then this variable will be null.
    Default value:
      null
    Returns:
      the `scene` property
    See Also:
      - `getScene()`

  - ### setId

    public final void setId(String value)
    Sets the value of the `id` property.
    Property description:
      The id of this `Node`. This simple string identifier is useful for finding a specific Node within the scene graph. While the id of a Node should be unique within the scene graph, this uniqueness is not enforced. This is analogous to the "id" attribute on an HTML element (CSS ID Specification).

      For example, if a Node is given the id of "myId", then the lookup method can be used to find this node as follows: `scene.lookup("#myId");`.

    Default value:
      null
    Parameters:
      `value` - the value for the `id` property
    See Also:
      - `getId()`
      - `idProperty()`

  - ### getId

    public final String getId()
    The id of this `Node`. This simple string identifier is useful for finding a specific Node within the scene graph. While the id of a Node should be unique within the scene graph, this uniqueness is not enforced. This is analogous to the "id" attribute on an HTML element (CSS ID Specification).
    Specified by:
      `getId` in interface `Styleable`
    Default value:
      null
    Returns:
      the id assigned to this `Node` using the `setId` method or `null`, if no id has been assigned.
    See Also:
      - CSS Reference Guide

  - ### idProperty

    public final StringProperty idProperty()
    The id of this `Node`. This simple string identifier is useful for finding a specific Node within the scene graph. While the id of a Node should be unique within the scene graph, this uniqueness is not enforced. This is analogous to the "id" attribute on an HTML element (CSS ID Specification).

    For example, if a Node is given the id of "myId", then the lookup method can be used to find this node as follows: `scene.lookup("#myId");`.

    Default value:
      null
    Returns:
      the `id` property
    See Also:
      - `getId()`
      - `setId(String)`

  - ### getStyleClass

    public final ObservableList<String> getStyleClass()
    Description copied from interface: `Styleable`
    A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine. This variable is analogous to the "class" attribute on an HTML element and, as such, each element of the list is a style class to which this Node belongs.
    Specified by:
      `getStyleClass` in interface `Styleable`
    Returns:
      a list of String identifiers which can be used to logically group Nodes, specifically for an external style engine
    See Also:
      - CSS3 class selectors

  - ### setStyle

    public final void setStyle(String value)
    A string representation of the CSS style associated with this specific `Node`. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.
    Default value:
      empty string
    Parameters:
      `value` - The inline CSS style to use for this `Node`. `null` is implicitly converted to an empty String.
    See Also:
      - CSS Reference Guide

  - ### getStyle

    public final String getStyle()
    A string representation of the CSS style associated with this specific `Node`. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.
    Specified by:
      `getStyle` in interface `Styleable`
    Default value:
      empty string
    Returns:
      The inline CSS style associated with this `Node`. If this `Node` does not have an inline style, an empty String is returned.
    See Also:
      - CSS Reference Guide

  - ### styleProperty

    public final StringProperty styleProperty()
    A string representation of the CSS style associated with this specific `Node`. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.
    Default value:
      empty string
    Returns:
      the `style` property
    See Also:
      - `getStyle()`
      - `setStyle(String)`

  - ### setVisible

    public final void setVisible(boolean value)
    Sets the value of the `visible` property.
    Property description:
      Specifies whether this `Node` and any subnodes should be rendered as part of the scene graph. A node may be visible and yet not be shown in the rendered scene if, for instance, it is off the screen or obscured by another Node. Invisible nodes never receive mouse events or keyboard focus and never maintain keyboard focus when they become invisible.
    Default value:
      true
    Parameters:
      `value` - the value for the `visible` property
    See Also:
      - `isVisible()`
      - `visibleProperty()`

  - ### isVisible

    public final boolean isVisible()
    Gets the value of the `visible` property.
    Property description:
      Specifies whether this `Node` and any subnodes should be rendered as part of the scene graph. A node may be visible and yet not be shown in the rendered scene if, for instance, it is off the screen or obscured by another Node. Invisible nodes never receive mouse events or keyboard focus and never maintain keyboard focus when they become invisible.
    Default value:
      true
    Returns:
      the value of the `visible` property
    See Also:
      - `setVisible(boolean)`
      - `visibleProperty()`

  - ### visibleProperty

    public final BooleanProperty visibleProperty()
    Specifies whether this `Node` and any subnodes should be rendered as part of the scene graph. A node may be visible and yet not be shown in the rendered scene if, for instance, it is off the screen or obscured by another Node. Invisible nodes never receive mouse events or keyboard focus and never maintain keyboard focus when they become invisible.
    Default value:
      true
    Returns:
      the `visible` property
    See Also:
      - `isVisible()`
      - `setVisible(boolean)`

  - ### setCursor

    public final void setCursor(Cursor value)
    Sets the value of the `cursor` property.
    Property description:
      Defines the mouse cursor for this `Node` and subnodes. If null, then the cursor of the first parent node with a non-null cursor will be used. If no Node in the scene graph defines a cursor, then the cursor of the `Scene` will be used.
    Default value:
      null
    Parameters:
      `value` - the value for the `cursor` property
    See Also:
      - `getCursor()`
      - `cursorProperty()`

  - ### getCursor

    public final Cursor getCursor()
    Gets the value of the `cursor` property.
    Property description:
      Defines the mouse cursor for this `Node` and subnodes. If null, then the cursor of the first parent node with a non-null cursor will be used. If no Node in the scene graph defines a cursor, then the cursor of the `Scene` will be used.
    Default value:
      null
    Returns:
      the value of the `cursor` property
    See Also:
      - `setCursor(Cursor)`
      - `cursorProperty()`

  - ### cursorProperty

    public final ObjectProperty<Cursor> cursorProperty()
    Defines the mouse cursor for this `Node` and subnodes. If null, then the cursor of the first parent node with a non-null cursor will be used. If no Node in the scene graph defines a cursor, then the cursor of the `Scene` will be used.
    Default value:
      null
    Returns:
      the mouse cursor for this `Node` and subnodes
    See Also:
      - `getCursor()`
      - `setCursor(Cursor)`

  - ### setOpacity

    public final void setOpacity(double value)
    Sets the value of the `opacity` property.
    Property description:
      Specifies how opaque (that is, solid) the `Node` appears. A Node with 0% opacity is fully translucent. That is, while it is still `visible` and rendered, you generally won't be able to see it. The exception to this rule is when the `Node` is combined with a blending mode and blend effect in which case a translucent Node may still have an impact in rendering. An opacity of 50% will render the node as being 50% transparent.

      A `visible` node with any opacity setting still receives mouse events and can receive keyboard focus. For example, if you want to have a large invisible rectangle overlay all `Node`s in the scene graph in order to intercept mouse events but not be visible to the user, you could create a large `Rectangle` that had an opacity of 0%.

      Opacity is specified as a value between 0 and 1. Values less than 0 are treated as 0, values greater than 1 are treated as 1.

      On some platforms ImageView might not support opacity variable.

      There is a known limitation of mixing opacity < 1.0 with a 3D Transform. Opacity/Blending is essentially a 2D image operation. The result of an opacity < 1.0 set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      1.0
    Parameters:
      `value` - the value for the `opacity` property
    See Also:
      - `getOpacity()`
      - `opacityProperty()`

  - ### getOpacity

    public final double getOpacity()
    Gets the value of the `opacity` property.
    Property description:
      Specifies how opaque (that is, solid) the `Node` appears. A Node with 0% opacity is fully translucent. That is, while it is still `visible` and rendered, you generally won't be able to see it. The exception to this rule is when the `Node` is combined with a blending mode and blend effect in which case a translucent Node may still have an impact in rendering. An opacity of 50% will render the node as being 50% transparent.

      A `visible` node with any opacity setting still receives mouse events and can receive keyboard focus. For example, if you want to have a large invisible rectangle overlay all `Node`s in the scene graph in order to intercept mouse events but not be visible to the user, you could create a large `Rectangle` that had an opacity of 0%.

      Opacity is specified as a value between 0 and 1. Values less than 0 are treated as 0, values greater than 1 are treated as 1.

      On some platforms ImageView might not support opacity variable.

      There is a known limitation of mixing opacity < 1.0 with a 3D Transform. Opacity/Blending is essentially a 2D image operation. The result of an opacity < 1.0 set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      1.0
    Returns:
      the value of the `opacity` property
    See Also:
      - `setOpacity(double)`
      - `opacityProperty()`

  - ### opacityProperty

    public final DoubleProperty opacityProperty()
    Specifies how opaque (that is, solid) the `Node` appears. A Node with 0% opacity is fully translucent. That is, while it is still `visible` and rendered, you generally won't be able to see it. The exception to this rule is when the `Node` is combined with a blending mode and blend effect in which case a translucent Node may still have an impact in rendering. An opacity of 50% will render the node as being 50% transparent.

    A `visible` node with any opacity setting still receives mouse events and can receive keyboard focus. For example, if you want to have a large invisible rectangle overlay all `Node`s in the scene graph in order to intercept mouse events but not be visible to the user, you could create a large `Rectangle` that had an opacity of 0%.

    Opacity is specified as a value between 0 and 1. Values less than 0 are treated as 0, values greater than 1 are treated as 1.

    On some platforms ImageView might not support opacity variable.

    There is a known limitation of mixing opacity < 1.0 with a 3D Transform. Opacity/Blending is essentially a 2D image operation. The result of an opacity < 1.0 set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      1.0
    Returns:
      the `opacity` property
    See Also:
      - `getOpacity()`
      - `setOpacity(double)`

  - ### setBlendMode

    public final void setBlendMode(BlendMode value)
    Sets the value of the `blendMode` property.
    Property description:
      The `BlendMode` used to blend this individual node into the scene behind it. If this node is a `Group`, then all of the children will be composited individually into a temporary buffer using their own blend modes and then that temporary buffer will be composited into the scene using the specified blend mode. A value of `null` is treated as pass-through. This means no effect on a parent (such as a `Group`), and the equivalent of `SRC_OVER` for a single `Node`.
    Default value:
      `null`
    Parameters:
      `value` - the value for the `blendMode` property
    See Also:
      - `getBlendMode()`
      - `blendModeProperty()`

  - ### getBlendMode

    public final BlendMode getBlendMode()
    Gets the value of the `blendMode` property.
    Property description:
      The `BlendMode` used to blend this individual node into the scene behind it. If this node is a `Group`, then all of the children will be composited individually into a temporary buffer using their own blend modes and then that temporary buffer will be composited into the scene using the specified blend mode. A value of `null` is treated as pass-through. This means no effect on a parent (such as a `Group`), and the equivalent of `SRC_OVER` for a single `Node`.
    Default value:
      `null`
    Returns:
      the value of the `blendMode` property
    See Also:
      - `setBlendMode(BlendMode)`
      - `blendModeProperty()`

  - ### blendModeProperty

    public final ObjectProperty<BlendMode> blendModeProperty()
    The `BlendMode` used to blend this individual node into the scene behind it. If this node is a `Group`, then all of the children will be composited individually into a temporary buffer using their own blend modes and then that temporary buffer will be composited into the scene using the specified blend mode. A value of `null` is treated as pass-through. This means no effect on a parent (such as a `Group`), and the equivalent of `SRC_OVER` for a single `Node`.
    Default value:
      `null`
    Returns:
      the `blendMode` property
    See Also:
      - `getBlendMode()`
      - `setBlendMode(BlendMode)`

  - ### setClip

    public final void setClip(Node value)
    Sets the value of the `clip` property.
    Property description:
      Specifies a `Node` to use to define the clipping shape for this Node. This clipping Node is not a child of this `Node` in the scene graph sense. Rather, it is used to define the clip for this `Node`.

      For example, you can use an `ImageView` Node as a mask to represent the Clip. Or you could use one of the geometric shape Nodes such as `Rectangle` or `Circle`. Or you could use a `Text` node to represent the Clip.

      See the class documentation for `Node` for scene graph structure restrictions on setting the clip. If these restrictions are violated by a change to the clip variable, the change is ignored and the previous value of the clip variable is restored.

      Note that this is a conditional feature. See `ConditionalFeature.SHAPE_CLIP` for more information.

      There is a known limitation of mixing Clip with a 3D Transform. Clipping is essentially a 2D image operation. The result of a Clip set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    Parameters:
      `value` - the value for the `clip` property
    See Also:
      - `getClip()`
      - `clipProperty()`

  - ### getClip

    public final Node getClip()
    Gets the value of the `clip` property.
    Property description:
      Specifies a `Node` to use to define the clipping shape for this Node. This clipping Node is not a child of this `Node` in the scene graph sense. Rather, it is used to define the clip for this `Node`.

      For example, you can use an `ImageView` Node as a mask to represent the Clip. Or you could use one of the geometric shape Nodes such as `Rectangle` or `Circle`. Or you could use a `Text` node to represent the Clip.

      See the class documentation for `Node` for scene graph structure restrictions on setting the clip. If these restrictions are violated by a change to the clip variable, the change is ignored and the previous value of the clip variable is restored.

      Note that this is a conditional feature. See `ConditionalFeature.SHAPE_CLIP` for more information.

      There is a known limitation of mixing Clip with a 3D Transform. Clipping is essentially a 2D image operation. The result of a Clip set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    Returns:
      the value of the `clip` property
    See Also:
      - `setClip(Node)`
      - `clipProperty()`

  - ### clipProperty

    public final ObjectProperty<Node> clipProperty()
    Specifies a `Node` to use to define the clipping shape for this Node. This clipping Node is not a child of this `Node` in the scene graph sense. Rather, it is used to define the clip for this `Node`.

    For example, you can use an `ImageView` Node as a mask to represent the Clip. Or you could use one of the geometric shape Nodes such as `Rectangle` or `Circle`. Or you could use a `Text` node to represent the Clip.

    See the class documentation for `Node` for scene graph structure restrictions on setting the clip. If these restrictions are violated by a change to the clip variable, the change is ignored and the previous value of the clip variable is restored.

    Note that this is a conditional feature. See `ConditionalFeature.SHAPE_CLIP` for more information.

    There is a known limitation of mixing Clip with a 3D Transform. Clipping is essentially a 2D image operation. The result of a Clip set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    Returns:
      the the clipping shape for this `Node`
    See Also:
      - `getClip()`
      - `setClip(Node)`

  - ### setCache

    public final void setCache(boolean value)
    Sets the value of the `cache` property.
    Property description:
      A performance hint to the system to indicate that this `Node` should be cached as a bitmap. Rendering a bitmap representation of a node will be faster than rendering primitives in many cases, especially in the case of primitives with effects applied (such as a blur). However, it also increases memory usage. This hint indicates whether that trade-off (increased memory usage for increased performance) is worthwhile. Also note that on some platforms such as GPU accelerated platforms there is little benefit to caching Nodes as bitmaps when blurs and other effects are used since they are very fast to render on the GPU. The `cacheHintProperty()` variable provides additional options for enabling more aggressive bitmap caching.

      Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      false
    Parameters:
      `value` - the value for the `cache` property
    See Also:
      - `isCache()`
      - `cacheProperty()`

  - ### isCache

    public final boolean isCache()
    Gets the value of the `cache` property.
    Property description:
      A performance hint to the system to indicate that this `Node` should be cached as a bitmap. Rendering a bitmap representation of a node will be faster than rendering primitives in many cases, especially in the case of primitives with effects applied (such as a blur). However, it also increases memory usage. This hint indicates whether that trade-off (increased memory usage for increased performance) is worthwhile. Also note that on some platforms such as GPU accelerated platforms there is little benefit to caching Nodes as bitmaps when blurs and other effects are used since they are very fast to render on the GPU. The `cacheHintProperty()` variable provides additional options for enabling more aggressive bitmap caching.

      Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      false
    Returns:
      the value of the `cache` property
    See Also:
      - `setCache(boolean)`
      - `cacheProperty()`

  - ### cacheProperty

    public final BooleanProperty cacheProperty()
    A performance hint to the system to indicate that this `Node` should be cached as a bitmap. Rendering a bitmap representation of a node will be faster than rendering primitives in many cases, especially in the case of primitives with effects applied (such as a blur). However, it also increases memory usage. This hint indicates whether that trade-off (increased memory usage for increased performance) is worthwhile. Also note that on some platforms such as GPU accelerated platforms there is little benefit to caching Nodes as bitmaps when blurs and other effects are used since they are very fast to render on the GPU. The `cacheHintProperty()` variable provides additional options for enabling more aggressive bitmap caching.

    Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      false
    Returns:
      the hint to cache for this `Node`
    See Also:
      - `isCache()`
      - `setCache(boolean)`

  - ### setCacheHint

    public final void setCacheHint(CacheHint value)
    Sets the value of the `cacheHint` property.
    Property description:
      Additional hint for controlling bitmap caching.

      Under certain circumstances, such as animating nodes that are very expensive to render, it is desirable to be able to perform transformations on the node without having to regenerate the cached bitmap. An option in such cases is to perform the transforms on the cached bitmap itself.

      This technique can provide a dramatic improvement to animation performance, though may also result in a reduction in visual quality. The `cacheHint` variable provides a hint to the system about how and when that trade-off (visual quality for animation performance) is acceptable.

      It is possible to enable the cacheHint only at times when your node is animating. In this way, expensive nodes can appear on screen with full visual quality, yet still animate smoothly.

      Example:

                  expensiveNode.setCache(true);
                  expensiveNode.setCacheHint(CacheHint.QUALITY);
                  ...
                  // Do an animation
                  expensiveNode.setCacheHint(CacheHint.SPEED);
                  new Timeline(
                      new KeyFrame(Duration.seconds(2),
                          new KeyValue(expensiveNode.scaleXProperty(), 2.0),
                          new KeyValue(expensiveNode.scaleYProperty(), 2.0),
                          new KeyValue(expensiveNode.rotateProperty(), 360),
                          new KeyValue(expensiveNode.cacheHintProperty(), CacheHint.QUALITY)
                      )
                  ).play();

      Note that `cacheHint` is only a hint to the system. Depending on the details of the node or the transform, this hint may be ignored.

      If `Node.cache` is false, cacheHint is ignored. Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      CacheHint.DEFAULT
    Parameters:
      `value` - the value for the `cacheHint` property
    See Also:
      - `getCacheHint()`
      - `cacheHintProperty()`

  - ### getCacheHint

    public final CacheHint getCacheHint()
    Gets the value of the `cacheHint` property.
    Property description:
      Additional hint for controlling bitmap caching.

      Under certain circumstances, such as animating nodes that are very expensive to render, it is desirable to be able to perform transformations on the node without having to regenerate the cached bitmap. An option in such cases is to perform the transforms on the cached bitmap itself.

      This technique can provide a dramatic improvement to animation performance, though may also result in a reduction in visual quality. The `cacheHint` variable provides a hint to the system about how and when that trade-off (visual quality for animation performance) is acceptable.

      It is possible to enable the cacheHint only at times when your node is animating. In this way, expensive nodes can appear on screen with full visual quality, yet still animate smoothly.

      Example:

                  expensiveNode.setCache(true);
                  expensiveNode.setCacheHint(CacheHint.QUALITY);
                  ...
                  // Do an animation
                  expensiveNode.setCacheHint(CacheHint.SPEED);
                  new Timeline(
                      new KeyFrame(Duration.seconds(2),
                          new KeyValue(expensiveNode.scaleXProperty(), 2.0),
                          new KeyValue(expensiveNode.scaleYProperty(), 2.0),
                          new KeyValue(expensiveNode.rotateProperty(), 360),
                          new KeyValue(expensiveNode.cacheHintProperty(), CacheHint.QUALITY)
                      )
                  ).play();

      Note that `cacheHint` is only a hint to the system. Depending on the details of the node or the transform, this hint may be ignored.

      If `Node.cache` is false, cacheHint is ignored. Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      CacheHint.DEFAULT
    Returns:
      the value of the `cacheHint` property
    See Also:
      - `setCacheHint(CacheHint)`
      - `cacheHintProperty()`

  - ### cacheHintProperty

    public final ObjectProperty<CacheHint> cacheHintProperty()
    Additional hint for controlling bitmap caching.

    Under certain circumstances, such as animating nodes that are very expensive to render, it is desirable to be able to perform transformations on the node without having to regenerate the cached bitmap. An option in such cases is to perform the transforms on the cached bitmap itself.

    This technique can provide a dramatic improvement to animation performance, though may also result in a reduction in visual quality. The `cacheHint` variable provides a hint to the system about how and when that trade-off (visual quality for animation performance) is acceptable.

    It is possible to enable the cacheHint only at times when your node is animating. In this way, expensive nodes can appear on screen with full visual quality, yet still animate smoothly.

    Example:

                expensiveNode.setCache(true);
                expensiveNode.setCacheHint(CacheHint.QUALITY);
                ...
                // Do an animation
                expensiveNode.setCacheHint(CacheHint.SPEED);
                new Timeline(
                    new KeyFrame(Duration.seconds(2),
                        new KeyValue(expensiveNode.scaleXProperty(), 2.0),
                        new KeyValue(expensiveNode.scaleYProperty(), 2.0),
                        new KeyValue(expensiveNode.rotateProperty(), 360),
                        new KeyValue(expensiveNode.cacheHintProperty(), CacheHint.QUALITY)
                    )
                ).play();

    Note that `cacheHint` is only a hint to the system. Depending on the details of the node or the transform, this hint may be ignored.

    If `Node.cache` is false, cacheHint is ignored. Caching may be disabled for any node that has a 3D transform on itself, any of its ancestors, or any of its descendants.

    Default value:
      CacheHint.DEFAULT
    Returns:
      the `CacheHint` for this `Node`
    See Also:
      - `getCacheHint()`
      - `setCacheHint(CacheHint)`

  - ### setEffect

    public final void setEffect(Effect value)
    Sets the value of the `effect` property.
    Property description:
      Specifies an effect to apply to this `Node`.

      Note that this is a conditional feature. See `ConditionalFeature.EFFECT` for more information.

      There is a known limitation of mixing Effect with a 3D Transform. Effect is essentially a 2D image operation. The result of an Effect set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    Parameters:
      `value` - the value for the `effect` property
    See Also:
      - `getEffect()`
      - `effectProperty()`

  - ### getEffect

    public final Effect getEffect()
    Gets the value of the `effect` property.
    Property description:
      Specifies an effect to apply to this `Node`.

      Note that this is a conditional feature. See `ConditionalFeature.EFFECT` for more information.

      There is a known limitation of mixing Effect with a 3D Transform. Effect is essentially a 2D image operation. The result of an Effect set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    Returns:
      the value of the `effect` property
    See Also:
      - `setEffect(Effect)`
      - `effectProperty()`

  - ### effectProperty

    public final ObjectProperty<Effect> effectProperty()
    Specifies an effect to apply to this `Node`.

    Note that this is a conditional feature. See `ConditionalFeature.EFFECT` for more information.

    There is a known limitation of mixing Effect with a 3D Transform. Effect is essentially a 2D image operation. The result of an Effect set on a `Group` node with 3D transformed children will cause its children to be rendered in order without Z-buffering applied between those children.

    Default value:
      null
    Returns:
      the effect for this `Node`
    See Also:
      - `getEffect()`
      - `setEffect(Effect)`

  - ### setDepthTest

    public final void setDepthTest(DepthTest value)
    Sets the value of the `depthTest` property.
    Property description:
      Indicates whether depth testing is used when rendering this node. If the depthTest flag is `DepthTest.DISABLE`, then depth testing is disabled for this node. If the depthTest flag is `DepthTest.ENABLE`, then depth testing is enabled for this node. If the depthTest flag is `DepthTest.INHERIT`, then depth testing is enabled for this node if it is enabled for the parent node or the parent node is null.

      The depthTest flag is only used when the depthBuffer flag for the `Scene` is true (meaning that the `Scene` has an associated depth buffer)

      Depth test comparison is only done among nodes with depthTest enabled. A node with depthTest disabled does not read, test, or write the depth buffer, that is to say its Z value will not be considered for depth testing with other nodes.

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

      See the constructor in Scene with depthBuffer as one of its input arguments.

    Default value:
      INHERIT
    Parameters:
      `value` - the value for the `depthTest` property
    See Also:
      - `getDepthTest()`
      - `depthTestProperty()`

  - ### getDepthTest

    public final DepthTest getDepthTest()
    Gets the value of the `depthTest` property.
    Property description:
      Indicates whether depth testing is used when rendering this node. If the depthTest flag is `DepthTest.DISABLE`, then depth testing is disabled for this node. If the depthTest flag is `DepthTest.ENABLE`, then depth testing is enabled for this node. If the depthTest flag is `DepthTest.INHERIT`, then depth testing is enabled for this node if it is enabled for the parent node or the parent node is null.

      The depthTest flag is only used when the depthBuffer flag for the `Scene` is true (meaning that the `Scene` has an associated depth buffer)

      Depth test comparison is only done among nodes with depthTest enabled. A node with depthTest disabled does not read, test, or write the depth buffer, that is to say its Z value will not be considered for depth testing with other nodes.

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

      See the constructor in Scene with depthBuffer as one of its input arguments.

    Default value:
      INHERIT
    Returns:
      the value of the `depthTest` property
    See Also:
      - `setDepthTest(DepthTest)`
      - `depthTestProperty()`

  - ### depthTestProperty

    public final ObjectProperty<DepthTest> depthTestProperty()
    Indicates whether depth testing is used when rendering this node. If the depthTest flag is `DepthTest.DISABLE`, then depth testing is disabled for this node. If the depthTest flag is `DepthTest.ENABLE`, then depth testing is enabled for this node. If the depthTest flag is `DepthTest.INHERIT`, then depth testing is enabled for this node if it is enabled for the parent node or the parent node is null.

    The depthTest flag is only used when the depthBuffer flag for the `Scene` is true (meaning that the `Scene` has an associated depth buffer)

    Depth test comparison is only done among nodes with depthTest enabled. A node with depthTest disabled does not read, test, or write the depth buffer, that is to say its Z value will not be considered for depth testing with other nodes.

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

    See the constructor in Scene with depthBuffer as one of its input arguments.

    Default value:
      INHERIT
    Returns:
      the depth test setting for this `Node`
    See Also:
      - `getDepthTest()`
      - `setDepthTest(DepthTest)`

  - ### setDisable

    public final void setDisable(boolean value)
    Sets the value of the `disable` property.
    Property description:
      Defines the individual disabled state of this `Node`. Setting `disable` to true will cause this `Node` and any subnodes to become disabled. This property should be used only to set the disabled state of a `Node`. For querying the disabled state of a `Node`, the `disabled` property should instead be used, since it is possible that a `Node` was disabled as a result of an ancestor being disabled even if the individual `disable` state on this `Node` is `false`.
    Default value:
      false
    Parameters:
      `value` - the value for the `disable` property
    See Also:
      - `isDisable()`
      - `disableProperty()`

  - ### isDisable

    public final boolean isDisable()
    Gets the value of the `disable` property.
    Property description:
      Defines the individual disabled state of this `Node`. Setting `disable` to true will cause this `Node` and any subnodes to become disabled. This property should be used only to set the disabled state of a `Node`. For querying the disabled state of a `Node`, the `disabled` property should instead be used, since it is possible that a `Node` was disabled as a result of an ancestor being disabled even if the individual `disable` state on this `Node` is `false`.
    Default value:
      false
    Returns:
      the value of the `disable` property
    See Also:
      - `setDisable(boolean)`
      - `disableProperty()`

  - ### disableProperty

    public final BooleanProperty disableProperty()
    Defines the individual disabled state of this `Node`. Setting `disable` to true will cause this `Node` and any subnodes to become disabled. This property should be used only to set the disabled state of a `Node`. For querying the disabled state of a `Node`, the `disabled` property should instead be used, since it is possible that a `Node` was disabled as a result of an ancestor being disabled even if the individual `disable` state on this `Node` is `false`.
    Default value:
      false
    Returns:
      the disabled state for this `Node`
    See Also:
      - `isDisable()`
      - `setDisable(boolean)`

  - ### setPickOnBounds

    public final void setPickOnBounds(boolean value)
    Sets the value of the `pickOnBounds` property.
    Property description:
      Defines how the picking computation is done for this node when triggered by a `MouseEvent` or a `contains` function call. If `pickOnBounds` is `true`, then picking is computed by intersecting with the bounds of this node, else picking is computed by intersecting with the geometric shape of this node. The default value of this property is `false` unless overridden by a subclass. The default value is `true` for `Region`.
    Default value:
      false; true for `Region`
    Parameters:
      `value` - the value for the `pickOnBounds` property
    See Also:
      - `isPickOnBounds()`
      - `pickOnBoundsProperty()`

  - ### isPickOnBounds

    public final boolean isPickOnBounds()
    Gets the value of the `pickOnBounds` property.
    Property description:
      Defines how the picking computation is done for this node when triggered by a `MouseEvent` or a `contains` function call. If `pickOnBounds` is `true`, then picking is computed by intersecting with the bounds of this node, else picking is computed by intersecting with the geometric shape of this node. The default value of this property is `false` unless overridden by a subclass. The default value is `true` for `Region`.
    Default value:
      false; true for `Region`
    Returns:
      the value of the `pickOnBounds` property
    See Also:
      - `setPickOnBounds(boolean)`
      - `pickOnBoundsProperty()`

  - ### pickOnBoundsProperty

    public final BooleanProperty pickOnBoundsProperty()
    Defines how the picking computation is done for this node when triggered by a `MouseEvent` or a `contains` function call. If `pickOnBounds` is `true`, then picking is computed by intersecting with the bounds of this node, else picking is computed by intersecting with the geometric shape of this node. The default value of this property is `false` unless overridden by a subclass. The default value is `true` for `Region`.
    Default value:
      false; true for `Region`
    Returns:
      the `pickOnBounds` property
    See Also:
      - `isPickOnBounds()`
      - `setPickOnBounds(boolean)`

  - ### setDisabled

    protected final void setDisabled(boolean value)
    Sets the value of the `disabled` property.
    Property description:
      Indicates whether or not this `Node` is disabled. A `Node` will become disabled if `disable` is set to `true` on either itself or one of its ancestors in the scene graph.

      A disabled `Node` should render itself differently to indicate its disabled state to the user. Such disabled rendering is dependent on the implementation of the `Node`. The shape classes contained in `javafx.scene.shape` do not implement such rendering by default, therefore applications using shapes for handling input must implement appropriate disabled rendering themselves. The user-interface controls defined in `javafx.scene.control` will implement disabled-sensitive rendering, however.

      A disabled `Node` does not receive mouse or key events.

    Default value:
      false
    Parameters:
      `value` - the value for the `disabled` property
    See Also:
      - `isDisabled()`
      - `disabledProperty()`

  - ### isDisabled

    public final boolean isDisabled()
    Gets the value of the `disabled` property.
    Property description:
      Indicates whether or not this `Node` is disabled. A `Node` will become disabled if `disable` is set to `true` on either itself or one of its ancestors in the scene graph.

      A disabled `Node` should render itself differently to indicate its disabled state to the user. Such disabled rendering is dependent on the implementation of the `Node`. The shape classes contained in `javafx.scene.shape` do not implement such rendering by default, therefore applications using shapes for handling input must implement appropriate disabled rendering themselves. The user-interface controls defined in `javafx.scene.control` will implement disabled-sensitive rendering, however.

      A disabled `Node` does not receive mouse or key events.

    Default value:
      false
    Returns:
      the value of the `disabled` property
    See Also:
      - `setDisabled(boolean)`
      - `disabledProperty()`

  - ### disabledProperty

    public final ReadOnlyBooleanProperty disabledProperty()
    Indicates whether or not this `Node` is disabled. A `Node` will become disabled if `disable` is set to `true` on either itself or one of its ancestors in the scene graph.

    A disabled `Node` should render itself differently to indicate its disabled state to the user. Such disabled rendering is dependent on the implementation of the `Node`. The shape classes contained in `javafx.scene.shape` do not implement such rendering by default, therefore applications using shapes for handling input must implement appropriate disabled rendering themselves. The user-interface controls defined in `javafx.scene.control` will implement disabled-sensitive rendering, however.

    A disabled `Node` does not receive mouse or key events.

    Default value:
      false
    Returns:
      the `disabled` property
    See Also:
      - `isDisabled()`
      - `setDisabled(boolean)`

  - ### lookup

    public Node lookup(String selector)
    Finds this `Node`, or the first sub-node, based on the given CSS selector. If this node is a `Parent`, then this function will traverse down into the branch until it finds a match. If more than one sub-node matches the specified selector, this function returns the first of them.

    If the lookup selector does not specify a pseudo class, the lookup will ignore pseudo class states; it will return the first matching node whether or not it contains pseudo classes.

    For example, if a Node is given the id of "myId", then the lookup method can be used to find this node as follows: `scene.lookup("#myId");`.

    For example, if two nodes, NodeA and NodeB, have the same style class "myStyle" and NodeA has a pseudo state "myPseudo", then to find NodeA, the lookup method can be used as follows: `scene.lookup(".myStyle:myPseudo");` or `scene.lookup(":myPseudo");`.

    Parameters:
      `selector` - The css selector of the node to find
    Returns:
      The first node, starting from this `Node`, which matches the CSS `selector`, null if none is found.

  - ### lookupAll

    public Set<Node> lookupAll(String selector)
    Finds all `Node`s, including this one and any children, which match the given CSS selector. If no matches are found, an empty unmodifiable set is returned. The set is explicitly unordered.

    If the lookupAll selector does not specify a pseudo class, the lookupAll will ignore pseudo class states; it will return all matching nodes whether or not the nodes contain pseudo classes.

    For example, if there are multiple nodes with same style class "myStyle", then the lookupAll method can be used to find all these nodes as follows: `scene.lookupAll(".myStyle");`.

    For example, if multiple nodes have same style class "myStyle" and few nodes have a pseudo state "myPseudo", then to find all nodes with "myPseudo" state, the lookupAll method can be used as follows: `scene.lookupAll(".myStyle:myPseudo");` or `scene.lookupAll(":myPseudo");`.

    Parameters:
      `selector` - The css selector of the nodes to find
    Returns:
      All nodes, starting from and including this `Node`, which match the CSS `selector`. The returned set is always unordered and unmodifiable, and never null.

  - ### toBack

    public void toBack()
    Moves this `Node` to the back of its sibling nodes in terms of z-order. This is accomplished by moving this `Node` to the first position in its parent's `content` ObservableList. This function has no effect if this `Node` is not part of a group.

  - ### toFront

    public void toFront()
    Moves this `Node` to the front of its sibling nodes in terms of z-order. This is accomplished by moving this `Node` to the last position in its parent's `content` ObservableList. This function has no effect if this `Node` is not part of a group.

  - ### snapshot

    public WritableImage snapshot(SnapshotParameters params, WritableImage image)
    Takes a snapshot of this node and returns the rendered image when it is ready. CSS and layout processing will be done for the node, and any of its children, prior to rendering it. The entire destination image is cleared to the fill `Paint` specified by the SnapshotParameters. This node is then rendered to the image. If the viewport specified by the SnapshotParameters is null, the upper-left pixel of the `boundsInParent` of this node, after first applying the transform specified by the SnapshotParameters, is mapped to the upper-left pixel (0,0) in the image. If a non-null viewport is specified, the upper-left pixel of the viewport is mapped to upper-left pixel (0,0) in the image. In both cases, this mapping to (0,0) of the image is done with an integer translation. The portion of the node that is outside of the rendered image 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.

    NOTE: In order for CSS and layout to function correctly, the node must be part of a Scene (the Scene may be attached to a Stage, but need not be).

    Parameters:
      `params` - the snapshot parameters containing attributes that will control the rendering. If the SnapshotParameters object is null, then the Scene's attributes will be used if this node is part of a scene, or default attributes will be used if this node is not part of a scene.
      `image` - the writable image that will be used to hold the rendered node. It may be null in which case a new WritableImage will be constructed. The new image is constructed using integer width and height values that are derived either from the transformed bounds of this Node or from the size of the viewport as specified in the SnapShotParameters. These integer values are chosen such that the image will wholly contain the bounds of this Node or the specified viewport. If the image is non-null, the node 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 bounds or viewport.
    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, SnapshotParameters params, WritableImage image)
    Takes a snapshot of this node at the next frame and calls the specified callback method when the image is ready. CSS and layout processing will be done for the node, and any of its children, prior to rendering it. The entire destination image is cleared to the fill `Paint` specified by the SnapshotParameters. This node is then rendered to the image. If the viewport specified by the SnapshotParameters is null, the upper-left pixel of the `boundsInParent` of this node, after first applying the transform specified by the SnapshotParameters, is mapped to the upper-left pixel (0,0) in the image. If a non-null viewport is specified, the upper-left pixel of the viewport is mapped to upper-left pixel (0,0) in the image. In both cases, this mapping to (0,0) of the image is done with an integer translation. The portion of the node that is outside of the rendered image will be clipped by the image.

    This is an asynchronous call, which means that other events or animation might be processed before the node is rendered. If any such events modify the node, or any of its children, that modification will be reflected in the rendered image (just like it will also be reflected in the frame rendered to the Stage, if this node is part of a live scene graph).

    When taking a snapshot of a node 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.

    NOTE: In order for CSS and layout to function correctly, the node must be part of a Scene (the Scene may be attached to a Stage, but need not be).

    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, the source node that was rendered, and a copy of the SnapshotParameters. The callback parameter must not be null.
      `params` - the snapshot parameters containing attributes that will control the rendering. If the SnapshotParameters object is null, then the Scene's attributes will be used if this node is part of a scene, or default attributes will be used if this node is not part of a scene.
      `image` - the writable image that will be used to hold the rendered node. It may be null in which case a new WritableImage will be constructed. The new image is constructed using integer width and height values that are derived either from the transformed bounds of this Node or from the size of the viewport as specified in the SnapShotParameters. These integer values are chosen such that the image will wholly contain the bounds of this Node or the specified viewport. If the image is non-null, the node 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 bounds or viewport.
    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

  - ### setOnDragEntered

    public final void setOnDragEntered(EventHandler<? super DragEvent> value)
    Sets the value of the `onDragEntered` property.
    Property description:
      Defines a function to be called when drag gesture enters this `Node`.
    Parameters:
      `value` - the value for the `onDragEntered` property
    See Also:
      - `getOnDragEntered()`
      - `onDragEnteredProperty()`

  - ### getOnDragEntered

    public final EventHandler<? super DragEvent> getOnDragEntered()
    Gets the value of the `onDragEntered` property.
    Property description:
      Defines a function to be called when drag gesture enters this `Node`.
    Returns:
      the value of the `onDragEntered` property
    See Also:
      - `setOnDragEntered(EventHandler)`
      - `onDragEnteredProperty()`

  - ### onDragEnteredProperty

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragEnteredProperty()
    Defines a function to be called when drag gesture enters this `Node`.
    Returns:
      the event handler that is called when drag gesture enters this `Node`
    See Also:
      - `getOnDragEntered()`
      - `setOnDragEntered(EventHandler)`

  - ### setOnDragExited

    public final void setOnDragExited(EventHandler<? super DragEvent> value)
    Sets the value of the `onDragExited` property.
    Property description:
      Defines a function to be called when drag gesture exits this `Node`.
    Parameters:
      `value` - the value for the `onDragExited` property
    See Also:
      - `getOnDragExited()`
      - `onDragExitedProperty()`

  - ### getOnDragExited

    public final EventHandler<? super DragEvent> getOnDragExited()
    Gets the value of the `onDragExited` property.
    Property description:
      Defines a function to be called when drag gesture exits this `Node`.
    Returns:
      the value of the `onDragExited` property
    See Also:
      - `setOnDragExited(EventHandler)`
      - `onDragExitedProperty()`

  - ### onDragExitedProperty

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragExitedProperty()
    Defines a function to be called when drag gesture exits this `Node`.
    Returns:
      the event handler that is called when drag gesture exits this `Node`
    See Also:
      - `getOnDragExited()`
      - `setOnDragExited(EventHandler)`

  - ### setOnDragOver

    public final void setOnDragOver(EventHandler<? super DragEvent> value)
    Sets the value of the `onDragOver` property.
    Property description:
      Defines a function to be called when drag gesture progresses within this `Node`.
    Parameters:
      `value` - the value for the `onDragOver` property
    See Also:
      - `getOnDragOver()`
      - `onDragOverProperty()`

  - ### getOnDragOver

    public final EventHandler<? super DragEvent> getOnDragOver()
    Gets the value of the `onDragOver` property.
    Property description:
      Defines a function to be called when drag gesture progresses within this `Node`.
    Returns:
      the value of the `onDragOver` property
    See Also:
      - `setOnDragOver(EventHandler)`
      - `onDragOverProperty()`

  - ### onDragOverProperty

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragOverProperty()
    Defines a function to be called when drag gesture progresses within this `Node`.
    Returns:
      the event handler that is called when drag gesture progresses within this `Node`
    See Also:
      - `getOnDragOver()`
      - `setOnDragOver(EventHandler)`

  - ### setOnDragDropped

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

  - ### getOnDragDropped

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

  - ### onDragDroppedProperty

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragDroppedProperty()
    Defines a function to be called when the mouse button is released on this `Node` during drag and drop gesture. Transfer of data from the `DragEvent`'s `dragboard` should happen in this function.
    Returns:
      the event handler that is called when the mouse button is released on this `Node`
    See Also:
      - `getOnDragDropped()`
      - `setOnDragDropped(EventHandler)`

  - ### setOnDragDone

    public final void setOnDragDone(EventHandler<? super DragEvent> value)
    Sets the value of the `onDragDone` property.
    Property description:
      Defines a function to be called when this `Node` 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.
    Parameters:
      `value` - the value for the `onDragDone` property
    See Also:
      - `getOnDragDone()`
      - `onDragDoneProperty()`

  - ### getOnDragDone

    public final EventHandler<? super DragEvent> getOnDragDone()
    Gets the value of the `onDragDone` property.
    Property description:
      Defines a function to be called when this `Node` 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.
    Returns:
      the value of the `onDragDone` property
    See Also:
      - `setOnDragDone(EventHandler)`
      - `onDragDoneProperty()`

  - ### onDragDoneProperty

    public final ObjectProperty<EventHandler<? super DragEvent>> onDragDoneProperty()
    Defines a function to be called when this `Node` 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.
    Returns:
      the event handler that is called when this `Node` is a drag and drop gesture source after its data has been dropped on a drop target
    See Also:
      - `getOnDragDone()`
      - `setOnDragDone(EventHandler)`

  - ### startDragAndDrop

    public Dragboard startDragAndDrop(TransferMode... transferModes)
    Confirms a potential drag and drop gesture that is recognized over this `Node`. 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 `Node`'s data on the `Dragboard` also identifies this `Node` 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 `Node`'s data on
    Throws:
      `IllegalStateException` - if drag and drop cannot be started at this moment (it's called outside of `DRAG_DETECTED` event handling or this node is not in scene).
    See Also:
      - `DragEvent`

  - ### startFullDrag

    public void startFullDrag()
    Starts a full press-drag-release gesture with this node 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 or this node is not in scene).
    Since:
      JavaFX 2.1
    See Also:
      - `MouseEvent`
      - `MouseDragEvent`

  - ### setManaged

    public final void setManaged(boolean value)
    Sets the value of the `managed` property.
    Property description:
      Defines whether or not this node's layout will be managed by its parent. If the node is managed, its parent will factor the node's geometry into its own preferred size and `layoutBounds` calculations and will lay it out during the scene's layout pass. If a managed node's layoutBounds changes, it will automatically trigger relayout up the scene-graph to the nearest layout root (which is typically the scene's root node).

      If the node is unmanaged, its parent will ignore the child in both preferred size computations and layout. Changes in layoutBounds will not trigger relayout above it. If an unmanaged node is of type `Parent`, it will act as a "layout root", meaning that calls to `Parent.requestLayout()` beneath it will cause only the branch rooted by the node to be relayed out, thereby isolating layout changes to that root and below. It's the application's responsibility to set the size and position of an unmanaged node.

      By default all nodes are managed.

    Parameters:
      `value` - the value for the `managed` property
    See Also:
      - `isManaged()`
      - `managedProperty()`

  - ### isManaged

    public final boolean isManaged()
    Gets the value of the `managed` property.
    Property description:
      Defines whether or not this node's layout will be managed by its parent. If the node is managed, its parent will factor the node's geometry into its own preferred size and `layoutBounds` calculations and will lay it out during the scene's layout pass. If a managed node's layoutBounds changes, it will automatically trigger relayout up the scene-graph to the nearest layout root (which is typically the scene's root node).

      If the node is unmanaged, its parent will ignore the child in both preferred size computations and layout. Changes in layoutBounds will not trigger relayout above it. If an unmanaged node is of type `Parent`, it will act as a "layout root", meaning that calls to `Parent.requestLayout()` beneath it will cause only the branch rooted by the node to be relayed out, thereby isolating layout changes to that root and below. It's the application's responsibility to set the size and position of an unmanaged node.

      By default all nodes are managed.

    Returns:
      the value of the `managed` property
    See Also:
      - `setManaged(boolean)`
      - `managedProperty()`

  - ### managedProperty

    public final BooleanProperty managedProperty()
    Defines whether or not this node's layout will be managed by its parent. If the node is managed, its parent will factor the node's geometry into its own preferred size and `layoutBounds` calculations and will lay it out during the scene's layout pass. If a managed node's layoutBounds changes, it will automatically trigger relayout up the scene-graph to the nearest layout root (which is typically the scene's root node).

    If the node is unmanaged, its parent will ignore the child in both preferred size computations and layout. Changes in layoutBounds will not trigger relayout above it. If an unmanaged node is of type `Parent`, it will act as a "layout root", meaning that calls to `Parent.requestLayout()` beneath it will cause only the branch rooted by the node to be relayed out, thereby isolating layout changes to that root and below. It's the application's responsibility to set the size and position of an unmanaged node.

    By default all nodes are managed.

    Returns:
      the `managed` property
    See Also:
      - `isManaged()`
      - `setManaged(boolean)`

  - ### setLayoutX

    public final void setLayoutX(double value)
    Sets the value of the `layoutX` property.
    Property description:
      Defines the x coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minX` position (which might not be 0) to the desired location.

      For example, if `textnode` should be positioned at `finalX`

               textnode.setLayoutX(finalX - textnode.getLayoutBounds().getMinX());

      Failure to subtract `layoutBounds minX` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutX directly.

      The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

      If the node is managed and has a `Region` as its parent, then the layout region will set `layoutX` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutX` directly to position it.

    Parameters:
      `value` - the value for the `layoutX` property
    See Also:
      - `getLayoutX()`
      - `layoutXProperty()`

  - ### getLayoutX

    public final double getLayoutX()
    Gets the value of the `layoutX` property.
    Property description:
      Defines the x coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minX` position (which might not be 0) to the desired location.

      For example, if `textnode` should be positioned at `finalX`

               textnode.setLayoutX(finalX - textnode.getLayoutBounds().getMinX());

      Failure to subtract `layoutBounds minX` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutX directly.

      The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

      If the node is managed and has a `Region` as its parent, then the layout region will set `layoutX` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutX` directly to position it.

    Returns:
      the value of the `layoutX` property
    See Also:
      - `setLayoutX(double)`
      - `layoutXProperty()`

  - ### layoutXProperty

    public final DoubleProperty layoutXProperty()
    Defines the x coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minX` position (which might not be 0) to the desired location.

    For example, if `textnode` should be positioned at `finalX`

             textnode.setLayoutX(finalX - textnode.getLayoutBounds().getMinX());

    Failure to subtract `layoutBounds minX` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutX directly.

    The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

    If the node is managed and has a `Region` as its parent, then the layout region will set `layoutX` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutX` directly to position it.

    Returns:
      the `layoutX` property
    See Also:
      - `getLayoutX()`
      - `setLayoutX(double)`

  - ### setLayoutY

    public final void setLayoutY(double value)
    Sets the value of the `layoutY` property.
    Property description:
      Defines the y coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minY` position (which might not be 0) to the desired location.

      For example, if `textnode` should be positioned at `finalY`

               textnode.setLayoutY(finalY - textnode.getLayoutBounds().getMinY());

      Failure to subtract `layoutBounds minY` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutY directly.

      The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

      If the node is managed and has a `Region` as its parent, then the region will set `layoutY` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutY` directly to position it.

    Parameters:
      `value` - the value for the `layoutY` property
    See Also:
      - `getLayoutY()`
      - `layoutYProperty()`

  - ### getLayoutY

    public final double getLayoutY()
    Gets the value of the `layoutY` property.
    Property description:
      Defines the y coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minY` position (which might not be 0) to the desired location.

      For example, if `textnode` should be positioned at `finalY`

               textnode.setLayoutY(finalY - textnode.getLayoutBounds().getMinY());

      Failure to subtract `layoutBounds minY` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutY directly.

      The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

      If the node is managed and has a `Region` as its parent, then the region will set `layoutY` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutY` directly to position it.

    Returns:
      the value of the `layoutY` property
    See Also:
      - `setLayoutY(double)`
      - `layoutYProperty()`

  - ### layoutYProperty

    public final DoubleProperty layoutYProperty()
    Defines the y coordinate of the translation that is added to this `Node`'s transform for the purpose of layout. The value should be computed as the offset required to adjust the position of the node from its current `layoutBounds minY` position (which might not be 0) to the desired location.

    For example, if `textnode` should be positioned at `finalY`

             textnode.setLayoutY(finalY - textnode.getLayoutBounds().getMinY());

    Failure to subtract `layoutBounds minY` may result in misplacement of the node. The `relocate(x, y)` method will automatically do the correct computation and should generally be used over setting layoutY directly.

    The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

    If the node is managed and has a `Region` as its parent, then the region will set `layoutY` according to its own layout policy. If the node is unmanaged or parented by a `Group`, then the application may set `layoutY` directly to position it.

    Returns:
      the `layoutY` property
    See Also:
      - `getLayoutY()`
      - `setLayoutY(double)`

  - ### relocate

    public void relocate(double x, double y)
    Sets the node's layoutX and layoutY translation properties in order to relocate this node to the x,y location in the parent.

    This method does not alter translateX or translateY, which if also set will be added to layoutX and layoutY, adjusting the final location by corresponding amounts.

    Parameters:
      `x` - the target x coordinate location
      `y` - the target y coordinate location

  - ### isResizable

    public boolean isResizable()
    Indicates whether this node is a type which can be resized by its parent. If this method returns true, then the parent will resize the node (ideally within its size range) by calling node.resize(width,height) during the layout pass. All Regions, Controls, and WebView are resizable classes which depend on their parents resizing them during layout once all sizing and CSS styling information has been applied.

    If this method returns false, then the parent cannot resize it during layout (resize() is a no-op) and it should return its layoutBounds for minimum, preferred, and maximum sizes. Group, Text, and all Shapes are not resizable and hence depend on the application to establish their sizing by setting appropriate properties (e.g. width/height for Rectangle, text on Text, and so on). Non-resizable nodes may still be relocated during layout.

    Returns:
      whether or not this node type can be resized by its parent during layout
    See Also:
      - `getContentBias()`
      - `minWidth(double)`
      - `minHeight(double)`
      - `prefWidth(double)`
      - `prefHeight(double)`
      - `maxWidth(double)`
      - `maxHeight(double)`
      - `resize(double, double)`
      - `getLayoutBounds()`

  - ### getContentBias

    public Orientation getContentBias()
    Returns the orientation of a node's resizing bias for layout purposes. If the node type has no bias, returns null. If the node is resizable and it's height depends on its width, returns HORIZONTAL, else if its width depends on its height, returns VERTICAL.

    Resizable subclasses should override this method to return an appropriate value.

    Returns:
      orientation of width/height dependency or null if there is none
    See Also:
      - `isResizable()`
      - `minWidth(double)`
      - `minHeight(double)`
      - `prefWidth(double)`
      - `prefHeight(double)`
      - `maxWidth(double)`
      - `maxHeight(double)`

  - ### minWidth

    public double minWidth(double height)
    Returns the node's minimum width for use in layout calculations. If the node is resizable, its parent should not resize its width any smaller than this value. If the node is not resizable, returns its layoutBounds width.

    Layout code which calls this method should first check the content-bias of the node. If the node has a vertical content-bias, then callers should pass in a height value that the minimum width should be based on. If the node has either a horizontal or null content-bias, then the caller should pass in -1.

    Node subclasses with a vertical content-bias should honor the height parameter whether -1 or a positive value. All other subclasses may ignore the height parameter (which will likely be -1).

    If Node's `maxWidth(double)` is lower than this number, `minWidth` takes precedence. This means the Node should never be resized below `minWidth`.

    Parameters:
      `height` - the height that should be used if minimum width depends on it
    Returns:
      the minimum width that the node should be resized to during layout. The result will never be NaN, nor will it ever be negative.
    See Also:
      - `isResizable()`
      - `getContentBias()`

  - ### minHeight

    public double minHeight(double width)
    Returns the node's minimum height for use in layout calculations. If the node is resizable, its parent should not resize its height any smaller than this value. If the node is not resizable, returns its layoutBounds height.

    Layout code which calls this method should first check the content-bias of the node. If the node has a horizontal content-bias, then callers should pass in a width value that the minimum height should be based on. If the node has either a vertical or null content-bias, then the caller should pass in -1.

    Node subclasses with a horizontal content-bias should honor the width parameter whether -1 or a positive value. All other subclasses may ignore the width parameter (which will likely be -1).

    If Node's `maxHeight(double)` is lower than this number, `minHeight` takes precedence. This means the Node should never be resized below `minHeight`.

    Parameters:
      `width` - the width that should be used if minimum height depends on it
    Returns:
      the minimum height that the node should be resized to during layout The result will never be NaN, nor will it ever be negative.
    See Also:
      - `isResizable()`
      - `getContentBias()`

  - ### prefWidth

    public double prefWidth(double height)
    Returns the node's preferred width for use in layout calculations. If the node is resizable, its parent should treat this value as the node's ideal width within its range. If the node is not resizable, just returns its layoutBounds width, which should be treated as the rigid width of the node.

    Layout code which calls this method should first check the content-bias of the node. If the node has a vertical content-bias, then callers should pass in a height value that the preferred width should be based on. If the node has either a horizontal or null content-bias, then the caller should pass in -1.

    Node subclasses with a vertical content-bias should honor the height parameter whether -1 or a positive value. All other subclasses may ignore the height parameter (which will likely be -1).

    Parameters:
      `height` - the height that should be used if preferred width depends on it
    Returns:
      the preferred width that the node should be resized to during layout The result will never be NaN, nor will it ever be negative.
    See Also:
      - `isResizable()`
      - `getContentBias()`
      - `autosize()`

  - ### prefHeight

    public double prefHeight(double width)
    Returns the node's preferred height for use in layout calculations. If the node is resizable, its parent should treat this value as the node's ideal height within its range. If the node is not resizable, just returns its layoutBounds height, which should be treated as the rigid height of the node.

    Layout code which calls this method should first check the content-bias of the node. If the node has a horizontal content-bias, then callers should pass in a width value that the preferred height should be based on. If the node has either a vertical or null content-bias, then the caller should pass in -1.

    Node subclasses with a horizontal content-bias should honor the height parameter whether -1 or a positive value. All other subclasses may ignore the height parameter (which will likely be -1).

    Parameters:
      `width` - the width that should be used if preferred height depends on it
    Returns:
      the preferred height that the node should be resized to during layout The result will never be NaN, nor will it ever be negative.
    See Also:
      - `getContentBias()`
      - `autosize()`

  - ### maxWidth

    public double maxWidth(double height)
    Returns the node's maximum width for use in layout calculations. If the node is resizable, its parent should not resize its width any larger than this value. A value of Double.MAX_VALUE indicates the parent may expand the node's width beyond its preferred without limits.

    If the node is not resizable, returns its layoutBounds width.

    Layout code which calls this method should first check the content-bias of the node. If the node has a vertical content-bias, then callers should pass in a height value that the maximum width should be based on. If the node has either a horizontal or null content-bias, then the caller should pass in -1.

    Node subclasses with a vertical content-bias should honor the height parameter whether -1 or a positive value. All other subclasses may ignore the height parameter (which will likely be -1).

    If Node's `minWidth(double)` is greater, it should take precedence over the `maxWidth`. This means the Node should never be resized below `minWidth`.

    Parameters:
      `height` - the height that should be used if maximum width depends on it
    Returns:
      the maximum width that the node should be resized to during layout The result will never be NaN, nor will it ever be negative.
    See Also:
      - `isResizable()`
      - `getContentBias()`

  - ### maxHeight

    public double maxHeight(double width)
    Returns the node's maximum height for use in layout calculations. If the node is resizable, its parent should not resize its height any larger than this value. A value of Double.MAX_VALUE indicates the parent may expand the node's height beyond its preferred without limits.

    If the node is not resizable, returns its layoutBounds height.

    Layout code which calls this method should first check the content-bias of the node. If the node has a horizontal content-bias, then callers should pass in a width value that the maximum height should be based on. If the node has either a vertical or null content-bias, then the caller should pass in -1.

    Node subclasses with a horizontal content-bias should honor the width parameter whether -1 or a positive value. All other subclasses may ignore the width parameter (which will likely be -1).

    If Node's `minHeight(double)` is greater, it should take precedence over the `maxHeight`. This means the Node should never be resized below `minHeight`.

    Parameters:
      `width` - the width that should be used if maximum height depends on it
    Returns:
      the maximum height that the node should be resized to during layout The result will never be NaN, nor will it ever be negative.
    See Also:
      - `isResizable()`
      - `getContentBias()`

  - ### resize

    public void resize(double width, double height)
    If the node is resizable, will set its layout bounds to the specified width and height. If the node is not resizable, this method is a no-op.

    This method should generally only be called by parent nodes from their layoutChildren() methods. All Parent classes will automatically resize resizable children, so resizing done directly by the application will be overridden by the node's parent, unless the child is unmanaged.

    Parents are responsible for ensuring the width and height values fall within the resizable node's preferred range. The autosize() method may be used if the parent just needs to resize the node to its preferred size.

    Parameters:
      `width` - the target layout bounds width
      `height` - the target layout bounds height
    See Also:
      - `isResizable()`
      - `getContentBias()`
      - `autosize()`
      - `minWidth(double)`
      - `minHeight(double)`
      - `prefWidth(double)`
      - `prefHeight(double)`
      - `maxWidth(double)`
      - `maxHeight(double)`
      - `getLayoutBounds()`

  - ### autosize

    public final void autosize()
    If the node is resizable, will set its layout bounds to its current preferred width and height. If the node is not resizable, this method is a no-op.

    This method automatically queries the node's content-bias and if it's horizontal, will pass in the node's preferred width to get the preferred height; if vertical, will pass in the node's preferred height to get the width, and if null, will compute the preferred width/height independently.

    See Also:
      - `isResizable()`
      - `getContentBias()`

  - ### resizeRelocate

    public void resizeRelocate(double x, double y, double width, double height)
    If the node is resizable, will set its layout bounds to the specified width and height. If the node is not resizable, the resize step is skipped.

    Once the node has been resized (if resizable) then sets the node's layoutX and layoutY translation properties in order to relocate it to x,y in the parent's coordinate space.

    This method should generally only be called by parent nodes from their layoutChildren() methods. All Parent classes will automatically resize resizable children, so resizing done directly by the application will be overridden by the node's parent, unless the child is unmanaged.

    Parents are responsible for ensuring the width and height values fall within the resizable node's preferred range. The autosize() and relocate() methods may be used if the parent just needs to resize the node to its preferred size and reposition it.

    Parameters:
      `x` - the target x coordinate location
      `y` - the target y coordinate location
      `width` - the target layout bounds width
      `height` - the target layout bounds height
    See Also:
      - `isResizable()`
      - `getContentBias()`
      - `autosize()`
      - `minWidth(double)`
      - `minHeight(double)`
      - `prefWidth(double)`
      - `prefHeight(double)`
      - `maxWidth(double)`
      - `maxHeight(double)`

  - ### getBaselineOffset

    public double getBaselineOffset()
    The 'alphabetic' (or 'roman') baseline offset from the node's layoutBounds.minY location that should be used when this node is being vertically aligned by baseline with other nodes. By default this returns `BASELINE_OFFSET_SAME_AS_HEIGHT` for resizable Nodes and layoutBounds height for non-resizable. Subclasses which contain text should override this method to return their actual text baseline offset.
    Returns:
      offset of text baseline from layoutBounds.minY for non-resizable Nodes or `BASELINE_OFFSET_SAME_AS_HEIGHT` otherwise

  - ### computeAreaInScreen

    public double computeAreaInScreen()
    Returns the area of this `Node` projected onto the physical screen in pixel units.
    Returns:
      the area of this `Node` projected onto the physical screen
    Since:
      JavaFX 8.0

  - ### getBoundsInParent

    public final Bounds getBoundsInParent()
    Gets the value of the `boundsInParent` property.
    Property description:
      The rectangular bounds of this `Node` in the parent coordinate system. `boundsInParent` is calculated by taking the local bounds and applying the node transforms as specified in the Transformations section of the class doc.

      The resulting bounds will be conceptually in the coordinate space of the `Node`'s parent, however, the node need not have a parent to calculate these bounds.

      Note that this method does not take the node's visibility into account; the computation is based on the geometry of this `Node` only.

      This property will always have a non-null value.

      Note that `boundsInParent` is automatically recomputed whenever the geometry of a node changes, or when any of the following the change: transforms `ObservableList`, any of the translate, layout or scale variables, or the rotate variable. For this reason, it is an error to bind any of these values in a node to an expression that depends upon this variable. For example, the x or y variables of a shape, or `translateX`, `translateY` should never be bound to `boundsInParent` for the purpose of positioning the node.

      See also the Bounding Rectangles section.

    Returns:
      the value of the `boundsInParent` property
    See Also:
      - `boundsInParentProperty()`

  - ### boundsInParentProperty

    public final ReadOnlyObjectProperty<Bounds> boundsInParentProperty()
    The rectangular bounds of this `Node` in the parent coordinate system. `boundsInParent` is calculated by taking the local bounds and applying the node transforms as specified in the Transformations section of the class doc.

    The resulting bounds will be conceptually in the coordinate space of the `Node`'s parent, however, the node need not have a parent to calculate these bounds.

    Note that this method does not take the node's visibility into account; the computation is based on the geometry of this `Node` only.

    This property will always have a non-null value.

    Note that `boundsInParent` is automatically recomputed whenever the geometry of a node changes, or when any of the following the change: transforms `ObservableList`, any of the translate, layout or scale variables, or the rotate variable. For this reason, it is an error to bind any of these values in a node to an expression that depends upon this variable. For example, the x or y variables of a shape, or `translateX`, `translateY` should never be bound to `boundsInParent` for the purpose of positioning the node.

    See also the Bounding Rectangles section.

    Returns:
      the `boundsInParent` property for this `Node`
    See Also:
      - `getBoundsInParent()`

  - ### getBoundsInLocal

    public final Bounds getBoundsInLocal()
    Gets the value of the `boundsInLocal` property.
    Property description:
      The rectangular bounds of this `Node` in the node's untransformed local coordinate space. For nodes that extend `Shape`, the local bounds will also include space required for a non-zero stroke that may fall outside the shape's geometry that is defined by position and size attributes. The local bounds will also include any clipping set with `clip` as well as effects set with `effect`.

      Note that this method does not take the node's visibility into account; the computation is based on the geometry of this `Node` only.

      This property will always have a non-null value.

      Note that boundsInLocal is automatically recomputed whenever the geometry of a node changes. For this reason, it is an error to bind any of these values in a node to an expression that depends upon this variable. For example, the x or y variables of a shape should never be bound to boundsInLocal for the purpose of positioning the node.

    Returns:
      the value of the `boundsInLocal` property
    See Also:
      - `boundsInLocalProperty()`

  - ### boundsInLocalProperty

    public final ReadOnlyObjectProperty<Bounds> boundsInLocalProperty()
    The rectangular bounds of this `Node` in the node's untransformed local coordinate space. For nodes that extend `Shape`, the local bounds will also include space required for a non-zero stroke that may fall outside the shape's geometry that is defined by position and size attributes. The local bounds will also include any clipping set with `clip` as well as effects set with `effect`.

    Note that this method does not take the node's visibility into account; the computation is based on the geometry of this `Node` only.

    This property will always have a non-null value.

    Note that boundsInLocal is automatically recomputed whenever the geometry of a node changes. For this reason, it is an error to bind any of these values in a node to an expression that depends upon this variable. For example, the x or y variables of a shape should never be bound to boundsInLocal for the purpose of positioning the node.

    Returns:
      the boundsInLocal for this `Node`
    See Also:
      - `getBoundsInLocal()`

  - ### getLayoutBounds

    public final Bounds getLayoutBounds()
    Gets the value of the `layoutBounds` property.
    Property description:
      The rectangular bounds that should be used for layout calculations for this node. `layoutBounds` may differ from the visual bounds of the node and is computed differently depending on the node type.

      If the node type is resizable (`Region`, `Control`, or `WebView`) then the layoutBounds will always be `0,0 width x height`. If the node type is not resizable (`Shape`, `Text`, or `Group`), then the `layoutBounds` are computed based on the node's geometric properties and does not include the node's clip, effect, or transforms. See individual class documentation for details.

      Note that the `layoutX`, `layoutY`, `translateX`, and `translateY` variables are not included in the layoutBounds. This is important because layout code must first determine the current size and location of the node (using `layoutBounds`) and then set `layoutX` and `layoutY` to adjust the translation of the node so that it will have the desired layout position.

      Because the computation of layoutBounds is often tied to a node's geometric variables, it is an error to bind any such variables to an expression that depends upon `layoutBounds`. For example, the x or y variables of a shape should never be bound to `layoutBounds` for the purpose of positioning the node.

      Note that for 3D shapes, the layout bounds is actually a rectangular box with X, Y, and Z values, although only X and Y are used in layout calculations.

      The `layoutBounds` will never be null.

    Returns:
      the value of the `layoutBounds` property
    See Also:
      - `layoutBoundsProperty()`

  - ### layoutBoundsProperty

    public final ReadOnlyObjectProperty<Bounds> layoutBoundsProperty()
    The rectangular bounds that should be used for layout calculations for this node. `layoutBounds` may differ from the visual bounds of the node and is computed differently depending on the node type.

    If the node type is resizable (`Region`, `Control`, or `WebView`) then the layoutBounds will always be `0,0 width x height`. If the node type is not resizable (`Shape`, `Text`, or `Group`), then the `layoutBounds` are computed based on the node's geometric properties and does not include the node's clip, effect, or transforms. See individual class documentation for details.

    Note that the `layoutX`, `layoutY`, `translateX`, and `translateY` variables are not included in the layoutBounds. This is important because layout code must first determine the current size and location of the node (using `layoutBounds`) and then set `layoutX` and `layoutY` to adjust the translation of the node so that it will have the desired layout position.

    Because the computation of layoutBounds is often tied to a node's geometric variables, it is an error to bind any such variables to an expression that depends upon `layoutBounds`. For example, the x or y variables of a shape should never be bound to `layoutBounds` for the purpose of positioning the node.

    Note that for 3D shapes, the layout bounds is actually a rectangular box with X, Y, and Z values, although only X and Y are used in layout calculations.

    The `layoutBounds` will never be null.

    Returns:
      the `layoutBounds` property
    See Also:
      - `getLayoutBounds()`

  - ### contains

    public boolean contains(double localX, double localY)
    Returns `true` if the given point (specified in the local coordinate space of this `Node`) is contained within the shape of this `Node`. Note that this method does not take visibility into account; the test is based on the geometry of this `Node` only.
    Parameters:
      `localX` - the x coordinate of the point in Node's space
      `localY` - the y coordinate of the point in Node's space
    Returns:
      the result of contains for this `Node`

  - ### contains

    public boolean contains(Point2D localPoint)
    Returns `true` if the given point (specified in the local coordinate space of this `Node`) is contained within the shape of this `Node`. Note that this method does not take visibility into account; the test is based on the geometry of this `Node` only.
    Parameters:
      `localPoint` - the 2D point in Node's space
    Returns:
      the result of contains for this `Node`

  - ### intersects

    public boolean intersects(double localX, double localY, double localWidth, double localHeight)
    Returns `true` if the given rectangle (specified in the local coordinate space of this `Node`) intersects the shape of this `Node`. Note that this method does not take visibility into account; the test is based on the geometry of this `Node` only. The default behavior of this function is simply to check if the given coordinates intersect with the local bounds.
    Parameters:
      `localX` - the x coordinate of a rectangle in Node's space
      `localY` - the y coordinate of a rectangle in Node's space
      `localWidth` - the width of a rectangle in Node's space
      `localHeight` - the height of a rectangle in Node's space
    Returns:
      the result of intersects for this `Node`

  - ### intersects

    public boolean intersects(Bounds localBounds)
    Returns `true` if the given bounds (specified in the local coordinate space of this `Node`) intersects the shape of this `Node`. Note that this method does not take visibility into account; the test is based on the geometry of this `Node` only. The default behavior of this function is simply to check if the given coordinates intersect with the local bounds.
    Parameters:
      `localBounds` - the bounds
    Returns:
      the result of intersects for this `Node`

  - ### screenToLocal

    public Point2D screenToLocal(double screenX, double screenY)
    Transforms a point from the coordinate space of the `Screen` into the local coordinate space of this `Node`.
    Parameters:
      `screenX` - x coordinate of a point on a Screen
      `screenY` - y coordinate of a point on a Screen
    Returns:
      local Node's coordinates of the point or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.
    Since:
      JavaFX 8.0

  - ### screenToLocal

    public Point2D screenToLocal(Point2D screenPoint)
    Transforms a point from the coordinate space of the `Screen` into the local coordinate space of this `Node`.
    Parameters:
      `screenPoint` - a point on a Screen
    Returns:
      local Node's coordinates of the point or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.
    Since:
      JavaFX 8.0

  - ### screenToLocal

    public Bounds screenToLocal(Bounds screenBounds)
    Transforms a rectangle from the coordinate space of the `Screen` into the local coordinate space of this `Node`. Returns reasonable result only in 2D space.
    Parameters:
      `screenBounds` - bounds on a Screen
    Returns:
      bounds in the local Node'space or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.
    Since:
      JavaFX 8.0

  - ### sceneToLocal

    public Point2D sceneToLocal(double x, double y, boolean rootScene)
    Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`. If the Node does not have any `SubScene` or `rootScene` is set to true, the arguments are in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `sceneToLocal(double, double)`.
    Parameters:
      `x` - the x coordinate
      `y` - the y coordinate
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      local coordinates of the point
    Since:
      JavaFX 8u40

  - ### sceneToLocal

    public Point2D sceneToLocal(Point2D point, boolean rootScene)
    Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`. If the Node does not have any `SubScene` or `rootScene` is set to true, the arguments are in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `sceneToLocal(javafx.geometry.Point2D)`.
    Parameters:
      `point` - the point
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      local coordinates of the point
    Since:
      JavaFX 8u40

  - ### sceneToLocal

    public Bounds sceneToLocal(Bounds bounds, boolean rootScene)
    Transforms a bounds from the coordinate space of the scene into the local coordinate space of this `Node`. If the Node does not have any `SubScene` or `rootScene` is set to true, the arguments are in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `sceneToLocal(javafx.geometry.Bounds)`.

    Since 3D bounds cannot be converted with `rootScene` set to `true`, trying to convert 3D bounds will yield `null`.

    Parameters:
      `bounds` - the bounds
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      local coordinates of the bounds
    Since:
      JavaFX 8u40

  - ### sceneToLocal

    public Point2D sceneToLocal(double sceneX, double sceneY)
    Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`. Note that if this node is in a `SubScene`, the arguments should be in the subscene coordinates, not that of `Scene`.
    Parameters:
      `sceneX` - x coordinate of a point on a Scene
      `sceneY` - y coordinate of a point on a Scene
    Returns:
      local Node's coordinates of the point or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.

  - ### sceneToLocal

    public Point2D sceneToLocal(Point2D scenePoint)
    Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`. Note that if this node is in a `SubScene`, the arguments should be in the subscene coordinates, not that of `Scene`.
    Parameters:
      `scenePoint` - a point on a Scene
    Returns:
      local Node's coordinates of the point or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.

  - ### sceneToLocal

    public Point3D sceneToLocal(Point3D scenePoint)
    Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`. Note that if this node is in a `SubScene`, the arguments should be in the subscene coordinates, not that of `Scene`.
    Parameters:
      `scenePoint` - a point on a Scene
    Returns:
      local Node's coordinates of the point or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.
    Since:
      JavaFX 8.0

  - ### sceneToLocal

    public Point3D sceneToLocal(double sceneX, double sceneY, double sceneZ)
    Transforms a point from the coordinate space of the scene into the local coordinate space of this `Node`. Note that if this node is in a `SubScene`, the arguments should be in the subscene coordinates, not that of `Scene`.
    Parameters:
      `sceneX` - x coordinate of a point on a Scene
      `sceneY` - y coordinate of a point on a Scene
      `sceneZ` - z coordinate of a point on a Scene
    Returns:
      local Node's coordinates of the point or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.
    Since:
      JavaFX 8.0

  - ### sceneToLocal

    public Bounds sceneToLocal(Bounds sceneBounds)
    Transforms a rectangle from the coordinate space of the scene into the local coordinate space of this `Node`. Note that if this node is in a `SubScene`, the arguments should be in the subscene coordinates, not that of `Scene`.
    Parameters:
      `sceneBounds` - bounds on a Scene
    Returns:
      bounds in the local Node'space or null if Node is not in a `Window`. Null is also returned if the transformation from local to Scene is not invertible.

  - ### localToScreen

    public Point2D localToScreen(double localX, double localY)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
    Parameters:
      `localX` - x coordinate of a point in Node's space
      `localY` - y coordinate of a point in Node's space
    Returns:
      screen coordinates of the point or null if Node is not in a `Window`
    Since:
      JavaFX 8.0

  - ### localToScreen

    public Point2D localToScreen(Point2D localPoint)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
    Parameters:
      `localPoint` - a point in Node's space
    Returns:
      screen coordinates of the point or null if Node is not in a `Window`
    Since:
      JavaFX 8.0

  - ### localToScreen

    public Point2D localToScreen(double localX, double localY, double localZ)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
    Parameters:
      `localX` - x coordinate of a point in Node's space
      `localY` - y coordinate of a point in Node's space
      `localZ` - z coordinate of a point in Node's space
    Returns:
      screen coordinates of the point or null if Node is not in a `Window`
    Since:
      JavaFX 8.0

  - ### localToScreen

    public Point2D localToScreen(Point3D localPoint)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
    Parameters:
      `localPoint` - a point in Node's space
    Returns:
      screen coordinates of the point or null if Node is not in a `Window`
    Since:
      JavaFX 8.0

  - ### localToScreen

    public Bounds localToScreen(Bounds localBounds)
    Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its `Screen`.
    Parameters:
      `localBounds` - bounds in Node's space
    Returns:
      the bounds in screen coordinates or null if Node is not in a `Window`
    Since:
      JavaFX 8.0

  - ### localToScene

    public Point2D localToScene(double localX, double localY)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. Note that if this node is in a `SubScene`, the result is in the subscene coordinates, not that of `Scene`.
    Parameters:
      `localX` - x coordinate of a point in Node's space
      `localY` - y coordinate of a point in Node's space
    Returns:
      scene coordinates of the point or null if Node is not in a `Window`

  - ### localToScene

    public Point2D localToScene(Point2D localPoint)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. Note that if this node is in a `SubScene`, the result is in the subscene coordinates, not that of `Scene`.
    Parameters:
      `localPoint` - a point in Node's space
    Returns:
      scene coordinates of the point or null if Node is not in a `Window`

  - ### localToScene

    public Point3D localToScene(Point3D localPoint)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. Note that if this node is in a `SubScene`, the result is in the subscene coordinates, not that of `Scene`.
    Parameters:
      `localPoint` - a 3D point in Node's space
    Returns:
      the transformed 3D point in Scene's space
    Since:
      JavaFX 8.0
    See Also:
      - `localToScene(javafx.geometry.Point3D, boolean)`

  - ### localToScene

    public Point3D localToScene(double x, double y, double z)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. Note that if this node is in a `SubScene`, the result is in the subscene coordinates, not that of `Scene`.
    Parameters:
      `x` - the x coordinate of a point in Node's space
      `y` - the y coordinate of a point in Node's space
      `z` - the z coordinate of a point in Node's space
    Returns:
      the transformed 3D point in Scene's space
    Since:
      JavaFX 8.0
    See Also:
      - `localToScene(double, double, double, boolean)`

  - ### localToScene

    public Point3D localToScene(Point3D localPoint, boolean rootScene)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. If the Node does not have any `SubScene` or `rootScene` is set to true, the result point is in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `localToScene(javafx.geometry.Point3D)`.
    Parameters:
      `localPoint` - the point in local coordinates
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      transformed point
    Since:
      JavaFX 8u40
    See Also:
      - `localToScene(javafx.geometry.Point3D)`

  - ### localToScene

    public Point3D localToScene(double x, double y, double z, boolean rootScene)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. If the Node does not have any `SubScene` or `rootScene` is set to true, the result point is in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `localToScene(double, double, double)`.
    Parameters:
      `x` - the x coordinate of the point in local coordinates
      `y` - the y coordinate of the point in local coordinates
      `z` - the z coordinate of the point in local coordinates
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      transformed point
    Since:
      JavaFX 8u40
    See Also:
      - `localToScene(double, double, double)`

  - ### localToScene

    public Point2D localToScene(Point2D localPoint, boolean rootScene)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. If the Node does not have any `SubScene` or `rootScene` is set to true, the result point is in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `localToScene(javafx.geometry.Point2D)`.
    Parameters:
      `localPoint` - the point in local coordinates
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      transformed point
    Since:
      JavaFX 8u40
    See Also:
      - `localToScene(javafx.geometry.Point2D)`

  - ### localToScene

    public Point2D localToScene(double x, double y, boolean rootScene)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its scene. If the Node does not have any `SubScene` or `rootScene` is set to true, the result point is in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `localToScene(double, double)`.
    Parameters:
      `x` - the x coordinate of the point in local coordinates
      `y` - the y coordinate of the point in local coordinates
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      transformed point
    Since:
      JavaFX 8u40
    See Also:
      - `localToScene(double, double)`

  - ### localToScene

    public Bounds localToScene(Bounds localBounds, boolean rootScene)
    Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its scene. If the Node does not have any `SubScene` or `rootScene` is set to true, the result bounds are in `Scene` coordinates of the Node returned by `getScene()`. Otherwise, the subscene coordinates are used, which is equivalent to calling `localToScene(javafx.geometry.Bounds)`.
    Parameters:
      `localBounds` - the bounds in local coordinates
      `rootScene` - whether Scene coordinates should be used even if the Node is in a SubScene
    Returns:
      transformed bounds
    Since:
      JavaFX 8u40
    See Also:
      - `localToScene(javafx.geometry.Bounds)`

  - ### localToScene

    public Bounds localToScene(Bounds localBounds)
    Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its scene. Note that if this node is in a `SubScene`, the result is in the subscene coordinates, not that of `Scene`.
    Parameters:
      `localBounds` - bounds in Node's space
    Returns:
      the bounds in the scene coordinates or null if Node is not in a `Window`
    See Also:
      - `localToScene(javafx.geometry.Bounds, boolean)`

  - ### parentToLocal

    public Point2D parentToLocal(double parentX, double parentY)
    Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
    Parameters:
      `parentX` - the x coordinate in Parent's space
      `parentY` - the y coordinate in Parent's space
    Returns:
      the transformed 2D point in Node's space

  - ### parentToLocal

    public Point2D parentToLocal(Point2D parentPoint)
    Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
    Parameters:
      `parentPoint` - the 2D point in Parent's space
    Returns:
      the transformed 2D point in Node's space

  - ### parentToLocal

    public Point3D parentToLocal(Point3D parentPoint)
    Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
    Parameters:
      `parentPoint` - parentPoint the 3D point in Parent's space
    Returns:
      the transformed 3D point in Node's space
    Since:
      JavaFX 8.0

  - ### parentToLocal

    public Point3D parentToLocal(double parentX, double parentY, double parentZ)
    Transforms a point from the coordinate space of the parent into the local coordinate space of this `Node`.
    Parameters:
      `parentX` - the x coordinate in Parent's space
      `parentY` - the y coordinate in Parent's space
      `parentZ` - the z coordinate in Parent's space
    Returns:
      the transformed 3D point in Node's space
    Since:
      JavaFX 8.0

  - ### parentToLocal

    public Bounds parentToLocal(Bounds parentBounds)
    Transforms a rectangle from the coordinate space of the parent into the local coordinate space of this `Node`.
    Parameters:
      `parentBounds` - the bounds in Parent's space
    Returns:
      the transformed bounds in Node's space

  - ### localToParent

    public Point2D localToParent(double localX, double localY)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
    Parameters:
      `localX` - the x coordinate of the point in Node's space
      `localY` - the y coordinate of the point in Node's space
    Returns:
      the transformed 2D point in Parent's space

  - ### localToParent

    public Point2D localToParent(Point2D localPoint)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
    Parameters:
      `localPoint` - the 2D point in Node's space
    Returns:
      the transformed 2D point in Parent's space

  - ### localToParent

    public Point3D localToParent(Point3D localPoint)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
    Parameters:
      `localPoint` - the 3D point in Node's space
    Returns:
      the transformed 3D point in Parent's space
    Since:
      JavaFX 8.0

  - ### localToParent

    public Point3D localToParent(double x, double y, double z)
    Transforms a point from the local coordinate space of this `Node` into the coordinate space of its parent.
    Parameters:
      `x` - the x coordinate of the point in Node's space
      `y` - the y coordinate of the point in Node's space
      `z` - the z coordinate of the point in Node's space
    Returns:
      the transformed 3D point in Parent's space
    Since:
      JavaFX 8.0

  - ### localToParent

    public Bounds localToParent(Bounds localBounds)
    Transforms a bounds from the local coordinate space of this `Node` into the coordinate space of its parent.
    Parameters:
      `localBounds` - the bounds in Node's space
    Returns:
      the transformed bounds in Parent's space

  - ### viewOrderProperty

    public final DoubleProperty viewOrderProperty()
    Defines the rendering and picking order of this `Node` within its parent.

    This property is used to alter the rendering and picking order of a node within its parent without reordering the parent's `children` list. For example, this can be used as a more efficient way to implement transparency sorting. To do this, an application can assign the viewOrder value of each node to the computed distance between that node and the viewer.

    The parent will traverse its `children` in decreasing `viewOrder` order. This means that a child with a lower `viewOrder` will be in front of a child with a higher `viewOrder`. If two children have the same `viewOrder`, the parent will traverse them in the order they appear in the parent's `children` list.

    However, `viewOrder` does not alter the layout and focus traversal order of this Node within its parent. A parent always traverses its `children` list in order when doing layout or focus traversal.

    Default value:
      0.0
    Returns:
      the view order for this `Node`
    Since:
      9
    See Also:
      - `getViewOrder()`
      - `setViewOrder(double)`

  - ### setViewOrder

    public final void setViewOrder(double value)
    Sets the value of the `viewOrder` property.
    Property description:
      Defines the rendering and picking order of this `Node` within its parent.

      This property is used to alter the rendering and picking order of a node within its parent without reordering the parent's `children` list. For example, this can be used as a more efficient way to implement transparency sorting. To do this, an application can assign the viewOrder value of each node to the computed distance between that node and the viewer.

      The parent will traverse its `children` in decreasing `viewOrder` order. This means that a child with a lower `viewOrder` will be in front of a child with a higher `viewOrder`. If two children have the same `viewOrder`, the parent will traverse them in the order they appear in the parent's `children` list.

      However, `viewOrder` does not alter the layout and focus traversal order of this Node within its parent. A parent always traverses its `children` list in order when doing layout or focus traversal.

    Default value:
      0.0
    Parameters:
      `value` - the value for the `viewOrder` property
    Since:
      9
    See Also:
      - `getViewOrder()`
      - `viewOrderProperty()`

  - ### getViewOrder

    public final double getViewOrder()
    Gets the value of the `viewOrder` property.
    Property description:
      Defines the rendering and picking order of this `Node` within its parent.

      This property is used to alter the rendering and picking order of a node within its parent without reordering the parent's `children` list. For example, this can be used as a more efficient way to implement transparency sorting. To do this, an application can assign the viewOrder value of each node to the computed distance between that node and the viewer.

      The parent will traverse its `children` in decreasing `viewOrder` order. This means that a child with a lower `viewOrder` will be in front of a child with a higher `viewOrder`. If two children have the same `viewOrder`, the parent will traverse them in the order they appear in the parent's `children` list.

      However, `viewOrder` does not alter the layout and focus traversal order of this Node within its parent. A parent always traverses its `children` list in order when doing layout or focus traversal.

    Default value:
      0.0
    Returns:
      the value of the `viewOrder` property
    Since:
      9
    See Also:
      - `setViewOrder(double)`
      - `viewOrderProperty()`

  - ### getTransforms

    public final ObservableList<Transform> getTransforms()
    The `ObservableList` of custom `Transform`s to be applied to this `Node`. These transforms are applied before the predefined transforms.

    See also the Transformations section.

    Default value:
      empty
    Returns:
      the transforms for this `Node`

  - ### setTranslateX

    public final void setTranslateX(double value)
    Sets the value of the `translateX` property.
    Property description:
      Defines the x coordinate of the translation that is added to this `Node`'s transform.

      The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

      This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    Parameters:
      `value` - the value for the `translateX` property
    See Also:
      - `getTranslateX()`
      - `translateXProperty()`

  - ### getTranslateX

    public final double getTranslateX()
    Gets the value of the `translateX` property.
    Property description:
      Defines the x coordinate of the translation that is added to this `Node`'s transform.

      The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

      This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    Returns:
      the value of the `translateX` property
    See Also:
      - `setTranslateX(double)`
      - `translateXProperty()`

  - ### translateXProperty

    public final DoubleProperty translateXProperty()
    Defines the x coordinate of the translation that is added to this `Node`'s transform.

    The node's final translation will be computed as `layoutX` + `translateX`, where `layoutX` establishes the node's stable position and `translateX` optionally makes dynamic adjustments to that position.

    This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    Returns:
      the translateX for this `Node`
    See Also:
      - `getTranslateX()`
      - `setTranslateX(double)`

  - ### setTranslateY

    public final void setTranslateY(double value)
    Sets the value of the `translateY` property.
    Property description:
      Defines the y coordinate of the translation that is added to this `Node`'s transform.

      The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

      This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    Parameters:
      `value` - the value for the `translateY` property
    See Also:
      - `getTranslateY()`
      - `translateYProperty()`

  - ### getTranslateY

    public final double getTranslateY()
    Gets the value of the `translateY` property.
    Property description:
      Defines the y coordinate of the translation that is added to this `Node`'s transform.

      The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

      This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    Returns:
      the value of the `translateY` property
    See Also:
      - `setTranslateY(double)`
      - `translateYProperty()`

  - ### translateYProperty

    public final DoubleProperty translateYProperty()
    Defines the y coordinate of the translation that is added to this `Node`'s transform.

    The node's final translation will be computed as `layoutY` + `translateY`, where `layoutY` establishes the node's stable position and `translateY` optionally makes dynamic adjustments to that position.

    This variable can be used to alter the location of a node without disturbing its `layoutBounds`, which makes it useful for animating a node's location.

    Default value:
      0
    Returns:
      the translateY for this `Node`
    See Also:
      - `getTranslateY()`
      - `setTranslateY(double)`

  - ### setTranslateZ

    public final void setTranslateZ(double value)
    Sets the value of the `translateZ` property.
    Property description:
      Defines the Z coordinate of the translation that is added to the transformed coordinates of this `Node`. This value will be added to any translation defined by the `transforms` ObservableList and `layoutZ`.

      This variable can be used to alter the location of a Node without disturbing its layout bounds, which makes it useful for animating a node's location.

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

    Default value:
      0
    Parameters:
      `value` - the value for the `translateZ` property
    See Also:
      - `getTranslateZ()`
      - `translateZProperty()`

  - ### getTranslateZ

    public final double getTranslateZ()
    Gets the value of the `translateZ` property.
    Property description:
      Defines the Z coordinate of the translation that is added to the transformed coordinates of this `Node`. This value will be added to any translation defined by the `transforms` ObservableList and `layoutZ`.

      This variable can be used to alter the location of a Node without disturbing its layout bounds, which makes it useful for animating a node's location.

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

    Default value:
      0
    Returns:
      the value of the `translateZ` property
    See Also:
      - `setTranslateZ(double)`
      - `translateZProperty()`

  - ### translateZProperty

    public final DoubleProperty translateZProperty()
    Defines the Z coordinate of the translation that is added to the transformed coordinates of this `Node`. This value will be added to any translation defined by the `transforms` ObservableList and `layoutZ`.

    This variable can be used to alter the location of a Node without disturbing its layout bounds, which makes it useful for animating a node's location.

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

    Default value:
      0
    Returns:
      the translateZ for this `Node`
    See Also:
      - `getTranslateZ()`
      - `setTranslateZ(double)`

  - ### setScaleX

    public final void setScaleX(double value)
    Sets the value of the `scaleX` property.
    Property description:
      Defines the factor by which coordinates are scaled about the center of the object along the X axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

      This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

      The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    Parameters:
      `value` - the value for the `scaleX` property
    See Also:
      - `getScaleX()`
      - `scaleXProperty()`

  - ### getScaleX

    public final double getScaleX()
    Gets the value of the `scaleX` property.
    Property description:
      Defines the factor by which coordinates are scaled about the center of the object along the X axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

      This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

      The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    Returns:
      the value of the `scaleX` property
    See Also:
      - `setScaleX(double)`
      - `scaleXProperty()`

  - ### scaleXProperty

    public final DoubleProperty scaleXProperty()
    Defines the factor by which coordinates are scaled about the center of the object along the X axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

    This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

    The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    Returns:
      the scaleX for this `Node`
    See Also:
      - `getScaleX()`
      - `setScaleX(double)`

  - ### setScaleY

    public final void setScaleY(double value)
    Sets the value of the `scaleY` property.
    Property description:
      Defines the factor by which coordinates are scaled about the center of the object along the Y axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

      This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

      The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    Parameters:
      `value` - the value for the `scaleY` property
    See Also:
      - `getScaleY()`
      - `scaleYProperty()`

  - ### getScaleY

    public final double getScaleY()
    Gets the value of the `scaleY` property.
    Property description:
      Defines the factor by which coordinates are scaled about the center of the object along the Y axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

      This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

      The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    Returns:
      the value of the `scaleY` property
    See Also:
      - `setScaleY(double)`
      - `scaleYProperty()`

  - ### scaleYProperty

    public final DoubleProperty scaleYProperty()
    Defines the factor by which coordinates are scaled about the center of the object along the Y axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

    This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

    The pivot point about which the scale occurs is the center of the untransformed `layoutBounds`.

    Default value:
      1.0
    Returns:
      the scaleY for this `Node`
    See Also:
      - `getScaleY()`
      - `setScaleY(double)`

  - ### setScaleZ

    public final void setScaleZ(double value)
    Sets the value of the `scaleZ` property.
    Property description:
      Defines the factor by which coordinates are scaled about the center of the object along the Z axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

      This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

      The pivot point about which the scale occurs is the center of the rectangular bounds formed by taking `boundsInLocal` and applying all the transforms in the `transforms` ObservableList.

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

    Default value:
      1.0
    Parameters:
      `value` - the value for the `scaleZ` property
    See Also:
      - `getScaleZ()`
      - `scaleZProperty()`

  - ### getScaleZ

    public final double getScaleZ()
    Gets the value of the `scaleZ` property.
    Property description:
      Defines the factor by which coordinates are scaled about the center of the object along the Z axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

      This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

      The pivot point about which the scale occurs is the center of the rectangular bounds formed by taking `boundsInLocal` and applying all the transforms in the `transforms` ObservableList.

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

    Default value:
      1.0
    Returns:
      the value of the `scaleZ` property
    See Also:
      - `setScaleZ(double)`
      - `scaleZProperty()`

  - ### scaleZProperty

    public final DoubleProperty scaleZProperty()
    Defines the factor by which coordinates are scaled about the center of the object along the Z axis of this `Node`. This is used to stretch or shrink the node either manually or by using an animation.

    This scale factor is not included in `layoutBounds` by default, which makes it ideal for scaling the entire node after all effects and transforms have been taken into account.

    The pivot point about which the scale occurs is the center of the rectangular bounds formed by taking `boundsInLocal` and applying all the transforms in the `transforms` ObservableList.

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

    Default value:
      1.0
    Returns:
      the scaleZ for this `Node`
    See Also:
      - `getScaleZ()`
      - `setScaleZ(double)`

  - ### setRotate

    public final void setRotate(double value)
    Sets the value of the `rotate` property.
    Property description:
      Defines the angle of rotation about the `Node`'s center, measured in degrees. This is used to rotate the `Node`.

      This rotation factor is not included in `layoutBounds` by default, which makes it ideal for rotating the entire node after all effects and transforms have been taken into account.

      The pivot point about which the rotation occurs is the center of the untransformed `layoutBounds`.

      Note that because the pivot point is computed as the center of this `Node`'s layout bounds, any change to the layout bounds will cause the pivot point to change, which can move the object. For a leaf node, any change to the geometry will cause the layout bounds to change. For a group node, any change to any of its children, including a change in a child's geometry, clip, effect, position, orientation, or scale, will cause the group's layout bounds to change. If this movement of the pivot point is not desired, applications should instead use the Node's `transforms` ObservableList, and add a `Rotate` transform, which has a user-specifiable pivot point.

    Default value:
      0.0
    Parameters:
      `value` - the value for the `rotate` property
    See Also:
      - `getRotate()`
      - `rotateProperty()`

  - ### getRotate

    public final double getRotate()
    Gets the value of the `rotate` property.
    Property description:
      Defines the angle of rotation about the `Node`'s center, measured in degrees. This is used to rotate the `Node`.

      This rotation factor is not included in `layoutBounds` by default, which makes it ideal for rotating the entire node after all effects and transforms have been taken into account.

      The pivot point about which the rotation occurs is the center of the untransformed `layoutBounds`.

      Note that because the pivot point is computed as the center of this `Node`'s layout bounds, any change to the layout bounds will cause the pivot point to change, which can move the object. For a leaf node, any change to the geometry will cause the layout bounds to change. For a group node, any change to any of its children, including a change in a child's geometry, clip, effect, position, orientation, or scale, will cause the group's layout bounds to change. If this movement of the pivot point is not desired, applications should instead use the Node's `transforms` ObservableList, and add a `Rotate` transform, which has a user-specifiable pivot point.

    Default value:
      0.0
    Returns:
      the value of the `rotate` property
    See Also:
      - `setRotate(double)`
      - `rotateProperty()`

  - ### rotateProperty

    public final DoubleProperty rotateProperty()
    Defines the angle of rotation about the `Node`'s center, measured in degrees. This is used to rotate the `Node`.

    This rotation factor is not included in `layoutBounds` by default, which makes it ideal for rotating the entire node after all effects and transforms have been taken into account.

    The pivot point about which the rotation occurs is the center of the untransformed `layoutBounds`.

    Note that because the pivot point is computed as the center of this `Node`'s layout bounds, any change to the layout bounds will cause the pivot point to change, which can move the object. For a leaf node, any change to the geometry will cause the layout bounds to change. For a group node, any change to any of its children, including a change in a child's geometry, clip, effect, position, orientation, or scale, will cause the group's layout bounds to change. If this movement of the pivot point is not desired, applications should instead use the Node's `transforms` ObservableList, and add a `Rotate` transform, which has a user-specifiable pivot point.

    Default value:
      0.0
    Returns:
      the rotate for this `Node`
    See Also:
      - `getRotate()`
      - `setRotate(double)`

  - ### setRotationAxis

    public final void setRotationAxis(Point3D value)
    Sets the value of the `rotationAxis` property.
    Property description:
      Defines the axis of rotation of this `Node`.

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

    Default value:
      Rotate.Z_AXIS
    Parameters:
      `value` - the value for the `rotationAxis` property
    See Also:
      - `getRotationAxis()`
      - `rotationAxisProperty()`

  - ### getRotationAxis

    public final Point3D getRotationAxis()
    Gets the value of the `rotationAxis` property.
    Property description:
      Defines the axis of rotation of this `Node`.

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

    Default value:
      Rotate.Z_AXIS
    Returns:
      the value of the `rotationAxis` property
    See Also:
      - `setRotationAxis(Point3D)`
      - `rotationAxisProperty()`

  - ### rotationAxisProperty

    public final ObjectProperty<Point3D> rotationAxisProperty()
    Defines the axis of rotation of this `Node`.

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

    Default value:
      Rotate.Z_AXIS
    Returns:
      the rotationAxis for this `Node`
    See Also:
      - `getRotationAxis()`
      - `setRotationAxis(Point3D)`

  - ### localToParentTransformProperty

    public final ReadOnlyObjectProperty<Transform> localToParentTransformProperty()
    An affine transform that holds the computed local-to-parent transform. This is the concatenation of all transforms in this node, including all of the convenience transforms.
    Returns:
      the localToParent transform for this `Node`
    Since:
      JavaFX 2.2
    See Also:
      - `getLocalToParentTransform()`

  - ### getLocalToParentTransform

    public final Transform getLocalToParentTransform()
    Gets the value of the `localToParentTransform` property.
    Property description:
      An affine transform that holds the computed local-to-parent transform. This is the concatenation of all transforms in this node, including all of the convenience transforms.
    Returns:
      the value of the `localToParentTransform` property
    Since:
      JavaFX 2.2
    See Also:
      - `localToParentTransformProperty()`

  - ### localToSceneTransformProperty

    public final ReadOnlyObjectProperty<Transform> localToSceneTransformProperty()
    An affine transform that holds the computed local-to-scene transform. This is the concatenation of all transforms in this node's parents and in this node, including all of the convenience transforms up to the root. If this node is in a `SubScene`, this property represents transforms up to the subscene, not the root scene.

    Note that when you register a listener or a binding to this property, it needs to listen for invalidation on all its parents to the root node. This means that registering a listener on this property on many nodes may negatively affect performance of transformation changes in their common parents.

    Returns:
      the localToScene transform for this `Node`
    Since:
      JavaFX 2.2
    See Also:
      - `getLocalToSceneTransform()`

  - ### getLocalToSceneTransform

    public final Transform getLocalToSceneTransform()
    Gets the value of the `localToSceneTransform` property.
    Property description:
      An affine transform that holds the computed local-to-scene transform. This is the concatenation of all transforms in this node's parents and in this node, including all of the convenience transforms up to the root. If this node is in a `SubScene`, this property represents transforms up to the subscene, not the root scene.

      Note that when you register a listener or a binding to this property, it needs to listen for invalidation on all its parents to the root node. This means that registering a listener on this property on many nodes may negatively affect performance of transformation changes in their common parents.

    Returns:
      the value of the `localToSceneTransform` property
    Since:
      JavaFX 2.2
    See Also:
      - `localToSceneTransformProperty()`

  - ### setNodeOrientation

    public final void setNodeOrientation(NodeOrientation orientation)
    Sets the value of the `nodeOrientation` property.
    Property description:
      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.
    Default value:
      `NodeOrientation.INHERIT`
    Parameters:
      `orientation` - the value for the `nodeOrientation` property
    Since:
      JavaFX 8.0
    See Also:
      - `getNodeOrientation()`
      - `nodeOrientationProperty()`

  - ### getNodeOrientation

    public final NodeOrientation getNodeOrientation()
    Gets the value of the `nodeOrientation` property.
    Property description:
      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.
    Default value:
      `NodeOrientation.INHERIT`
    Returns:
      the value of the `nodeOrientation` property
    Since:
      JavaFX 8.0
    See Also:
      - `setNodeOrientation(NodeOrientation)`
      - `nodeOrientationProperty()`

  - ### nodeOrientationProperty

    public final ObjectProperty<NodeOrientation> nodeOrientationProperty()
    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.
    Default value:
      `NodeOrientation.INHERIT`
    Returns:
      the `nodeOrientation` property
    Since:
      JavaFX 8.0
    See Also:
      - `getNodeOrientation()`
      - `setNodeOrientation(NodeOrientation)`

  - ### getEffectiveNodeOrientation

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

  - ### effectiveNodeOrientationProperty

    public final ReadOnlyObjectProperty<NodeOrientation> effectiveNodeOrientationProperty()
    The effective orientation of a node resolves the inheritance of node orientation, returning either left-to-right or right-to-left.
    Returns:
      the node orientation for this `Node`
    Since:
      JavaFX 8.0
    See Also:
      - `getEffectiveNodeOrientation()`

  - ### usesMirroring

    public boolean usesMirroring()
    Determines whether a node should be mirrored when node orientation is right-to-left.

    When a node is mirrored, the origin is automatically moved to the top right corner causing the node to layout children and draw from right to left using a mirroring transformation. Some nodes may wish to draw from right to left without using a transformation. These nodes will answer `false` and implement right-to-left orientation without using the automatic transformation.

    Returns:
      true if this `Node` should be mirrored
    Since:
      JavaFX 8.0

  - ### setMouseTransparent

    public final void setMouseTransparent(boolean value)
    Sets the value of the `mouseTransparent` property.
    Property description:
      If `true`, this node (together with all its children) is completely transparent to mouse events. When choosing target for mouse event, nodes with `mouseTransparent` set to `true` and their subtrees won't be taken into account.
    Parameters:
      `value` - the value for the `mouseTransparent` property
    See Also:
      - `isMouseTransparent()`
      - `mouseTransparentProperty()`

  - ### isMouseTransparent

    public final boolean isMouseTransparent()
    Gets the value of the `mouseTransparent` property.
    Property description:
      If `true`, this node (together with all its children) is completely transparent to mouse events. When choosing target for mouse event, nodes with `mouseTransparent` set to `true` and their subtrees won't be taken into account.
    Returns:
      the value of the `mouseTransparent` property
    See Also:
      - `setMouseTransparent(boolean)`
      - `mouseTransparentProperty()`

  - ### mouseTransparentProperty

    public final BooleanProperty mouseTransparentProperty()
    If `true`, this node (together with all its children) is completely transparent to mouse events. When choosing target for mouse event, nodes with `mouseTransparent` set to `true` and their subtrees won't be taken into account.
    Returns:
      is this `Node` (together with all its children) is completely transparent to mouse events.
    See Also:
      - `isMouseTransparent()`
      - `setMouseTransparent(boolean)`

  - ### setHover

    protected final void setHover(boolean value)
    Sets the value of the `hover` property.
    Property description:
      Whether or not this `Node` is being hovered over. Typically this is due to the mouse being over the node, though it could be due to a pen hovering on a graphics tablet or other form of input.

      Note that current implementation of hover relies on mouse enter and exit events to determine whether this Node is in the hover state; this means that this feature is currently supported only on systems that have a mouse. Future implementations may provide alternative means of supporting hover.

    Default value:
      false
    Parameters:
      `value` - the value for the `hover` property
    See Also:
      - `isHover()`
      - `hoverProperty()`

  - ### isHover

    public final boolean isHover()
    Gets the value of the `hover` property.
    Property description:
      Whether or not this `Node` is being hovered over. Typically this is due to the mouse being over the node, though it could be due to a pen hovering on a graphics tablet or other form of input.

      Note that current implementation of hover relies on mouse enter and exit events to determine whether this Node is in the hover state; this means that this feature is currently supported only on systems that have a mouse. Future implementations may provide alternative means of supporting hover.

    Default value:
      false
    Returns:
      the value of the `hover` property
    See Also:
      - `setHover(boolean)`
      - `hoverProperty()`

  - ### hoverProperty

    public final ReadOnlyBooleanProperty hoverProperty()
    Whether or not this `Node` is being hovered over. Typically this is due to the mouse being over the node, though it could be due to a pen hovering on a graphics tablet or other form of input.

    Note that current implementation of hover relies on mouse enter and exit events to determine whether this Node is in the hover state; this means that this feature is currently supported only on systems that have a mouse. Future implementations may provide alternative means of supporting hover.

    Default value:
      false
    Returns:
      the `hover` property
    See Also:
      - `isHover()`
      - `setHover(boolean)`

  - ### setPressed

    protected final void setPressed(boolean value)
    Sets the value of the `pressed` property.
    Property description:
      Whether or not the `Node` is pressed. Typically this is true when the primary mouse button is down, though subclasses may define other mouse button state or key state to cause the node to be "pressed".
    Default value:
      false
    Parameters:
      `value` - the value for the `pressed` property
    See Also:
      - `isPressed()`
      - `pressedProperty()`

  - ### isPressed

    public final boolean isPressed()
    Gets the value of the `pressed` property.
    Property description:
      Whether or not the `Node` is pressed. Typically this is true when the primary mouse button is down, though subclasses may define other mouse button state or key state to cause the node to be "pressed".
    Default value:
      false
    Returns:
      the value of the `pressed` property
    See Also:
      - `setPressed(boolean)`
      - `pressedProperty()`

  - ### pressedProperty

    public final ReadOnlyBooleanProperty pressedProperty()
    Whether or not the `Node` is pressed. Typically this is true when the primary mouse button is down, though subclasses may define other mouse button state or key state to cause the node to be "pressed".
    Default value:
      false
    Returns:
      the `pressed` property
    See Also:
      - `isPressed()`
      - `setPressed(boolean)`

  - ### setOnContextMenuRequested

    public final void setOnContextMenuRequested(EventHandler<? super ContextMenuEvent> value)
    Sets the value of the `onContextMenuRequested` property.
    Property description:
      Defines a function to be called when a context menu has been requested on this `Node`.
    Parameters:
      `value` - the value for the `onContextMenuRequested` property
    Since:
      JavaFX 2.1
    See Also:
      - `getOnContextMenuRequested()`
      - `onContextMenuRequestedProperty()`

  - ### getOnContextMenuRequested

    public final EventHandler<? super ContextMenuEvent> getOnContextMenuRequested()
    Gets the value of the `onContextMenuRequested` property.
    Property description:
      Defines a function to be called when a context menu has been requested on this `Node`.
    Returns:
      the value of the `onContextMenuRequested` property
    Since:
      JavaFX 2.1
    See Also:
      - `setOnContextMenuRequested(EventHandler)`
      - `onContextMenuRequestedProperty()`

  - ### onContextMenuRequestedProperty

    public final ObjectProperty<EventHandler<? super ContextMenuEvent>> onContextMenuRequestedProperty()
    Defines a function to be called when a context menu has been requested on this `Node`.
    Returns:
      the event handler that is called when a context menu has been requested on this `Node`
    Since:
      JavaFX 2.1
    See Also:
      - `getOnContextMenuRequested()`
      - `setOnContextMenuRequested(EventHandler)`

  - ### setOnMouseClicked

    public final void setOnMouseClicked(EventHandler<? super MouseEvent> value)
    Sets the value of the `onMouseClicked` property.
    Property description:
      Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Node`.
    Parameters:
      `value` - the value for the `onMouseClicked` property
    See Also:
      - `getOnMouseClicked()`
      - `onMouseClickedProperty()`

  - ### getOnMouseClicked

    public final EventHandler<? super MouseEvent> getOnMouseClicked()
    Gets the value of the `onMouseClicked` property.
    Property description:
      Defines a function to be called when a mouse button has been clicked (pressed and released) on this `Node`.
    Returns:
      the value of the `onMouseClicked` property
    See Also:
      - `setOnMouseClicked(EventHandler)`
      - `onMouseClickedProperty()`

  - ### 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 `Node`.
    Returns:
      the event handler that is called when a mouse button has been clicked (pressed and released) on this `Node`
    See Also:
      - `getOnMouseClicked()`
      - `setOnMouseClicked(EventHandler)`

  - ### setOnMouseDragged

    public final void setOnMouseDragged(EventHandler<? super MouseEvent> value)
    Sets the value of the `onMouseDragged` property.
    Property description:
      Defines a function to be called when a mouse button is pressed on this `Node` and then dragged.
    Parameters:
      `value` - the value for the `onMouseDragged` property
    See Also:
      - `getOnMouseDragged()`
      - `onMouseDraggedProperty()`

  - ### getOnMouseDragged

    public final EventHandler<? super MouseEvent> getOnMouseDragged()
    Gets the value of the `onMouseDragged` property.
    Property description:
      Defines a function to be called when a mouse button is pressed on this `Node` and then dragged.
    Returns:
      the value of the `onMouseDragged` property
    See Also:
      - `setOnMouseDragged(EventHandler)`
      - `onMouseDraggedProperty()`

  - ### onMouseDraggedProperty

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseDraggedProperty()
    Defines a function to be called when a mouse button is pressed on this `Node` and then dragged.
    Returns:
      the event handler that is called when a mouse button is pressed on this `Node` and then dragged
    See Also:
      - `getOnMouseDragged()`
      - `setOnMouseDragged(EventHandler)`

  - ### setOnMouseEntered

    public final void setOnMouseEntered(EventHandler<? super MouseEvent> value)
    Sets the value of the `onMouseEntered` property.
    Property description:
      Defines a function to be called when the mouse enters this `Node`.
    Parameters:
      `value` - the value for the `onMouseEntered` property
    See Also:
      - `getOnMouseEntered()`
      - `onMouseEnteredProperty()`

  - ### getOnMouseEntered

    public final EventHandler<? super MouseEvent> getOnMouseEntered()
    Gets the value of the `onMouseEntered` property.
    Property description:
      Defines a function to be called when the mouse enters this `Node`.
    Returns:
      the value of the `onMouseEntered` property
    See Also:
      - `setOnMouseEntered(EventHandler)`
      - `onMouseEnteredProperty()`

  - ### onMouseEnteredProperty

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseEnteredProperty()
    Defines a function to be called when the mouse enters this `Node`.
    Returns:
      the event handler that is called when a mouse enters this `Node`
    See Also:
      - `getOnMouseEntered()`
      - `setOnMouseEntered(EventHandler)`

  - ### setOnMouseExited

    public final void setOnMouseExited(EventHandler<? super MouseEvent> value)
    Sets the value of the `onMouseExited` property.
    Property description:
      Defines a function to be called when the mouse exits this `Node`.
    Parameters:
      `value` - the value for the `onMouseExited` property
    See Also:
      - `getOnMouseExited()`
      - `onMouseExitedProperty()`

  - ### getOnMouseExited

    public final EventHandler<? super MouseEvent> getOnMouseExited()
    Gets the value of the `onMouseExited` property.
    Property description:
      Defines a function to be called when the mouse exits this `Node`.
    Returns:
      the value of the `onMouseExited` property
    See Also:
      - `setOnMouseExited(EventHandler)`
      - `onMouseExitedProperty()`

  - ### onMouseExitedProperty

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseExitedProperty()
    Defines a function to be called when the mouse exits this `Node`.
    Returns:
      the event handler that is called when a mouse exits this `Node`
    See Also:
      - `getOnMouseExited()`
      - `setOnMouseExited(EventHandler)`

  - ### setOnMouseMoved

    public final void setOnMouseMoved(EventHandler<? super MouseEvent> value)
    Sets the value of the `onMouseMoved` property.
    Property description:
      Defines a function to be called when mouse cursor moves within this `Node` but no buttons have been pushed.
    Parameters:
      `value` - the value for the `onMouseMoved` property
    See Also:
      - `getOnMouseMoved()`
      - `onMouseMovedProperty()`

  - ### getOnMouseMoved

    public final EventHandler<? super MouseEvent> getOnMouseMoved()
    Gets the value of the `onMouseMoved` property.
    Property description:
      Defines a function to be called when mouse cursor moves within this `Node` but no buttons have been pushed.
    Returns:
      the value of the `onMouseMoved` property
    See Also:
      - `setOnMouseMoved(EventHandler)`
      - `onMouseMovedProperty()`

  - ### onMouseMovedProperty

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseMovedProperty()
    Defines a function to be called when mouse cursor moves within this `Node` but no buttons have been pushed.
    Returns:
      the event handler that is called when a mouse cursor moves within this `Node` 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 `onMousePressed` property.
    Property description:
      Defines a function to be called when a mouse button has been pressed on this `Node`.
    Parameters:
      `value` - the value for the `onMousePressed` property
    See Also:
      - `getOnMousePressed()`
      - `onMousePressedProperty()`

  - ### getOnMousePressed

    public final EventHandler<? super MouseEvent> getOnMousePressed()
    Gets the value of the `onMousePressed` property.
    Property description:
      Defines a function to be called when a mouse button has been pressed on this `Node`.
    Returns:
      the value of the `onMousePressed` property
    See Also:
      - `setOnMousePressed(EventHandler)`
      - `onMousePressedProperty()`

  - ### onMousePressedProperty

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMousePressedProperty()
    Defines a function to be called when a mouse button has been pressed on this `Node`.
    Returns:
      the event handler that is called when a mouse button has been pressed on this `Node`
    See Also:
      - `getOnMousePressed()`
      - `setOnMousePressed(EventHandler)`

  - ### setOnMouseReleased

    public final void setOnMouseReleased(EventHandler<? super MouseEvent> value)
    Sets the value of the `onMouseReleased` property.
    Property description:
      Defines a function to be called when a mouse button has been released on this `Node`.
    Parameters:
      `value` - the value for the `onMouseReleased` property
    See Also:
      - `getOnMouseReleased()`
      - `onMouseReleasedProperty()`

  - ### getOnMouseReleased

    public final EventHandler<? super MouseEvent> getOnMouseReleased()
    Gets the value of the `onMouseReleased` property.
    Property description:
      Defines a function to be called when a mouse button has been released on this `Node`.
    Returns:
      the value of the `onMouseReleased` property
    See Also:
      - `setOnMouseReleased(EventHandler)`
      - `onMouseReleasedProperty()`

  - ### onMouseReleasedProperty

    public final ObjectProperty<EventHandler<? super MouseEvent>> onMouseReleasedProperty()
    Defines a function to be called when a mouse button has been released on this `Node`.
    Returns:
      the event handler that is called when a mouse button has been released on this `Node`
    See Also:
      - `getOnMouseReleased()`
      - `setOnMouseReleased(EventHandler)`

  - ### setOnDragDetected

    public final void setOnDragDetected(EventHandler<? super MouseEvent> value)
    Sets the value of the `onDragDetected` property.
    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.
    Parameters:
      `value` - the value for the `onDragDetected` property
    See Also:
      - `getOnDragDetected()`
      - `onDragDetectedProperty()`

  - ### getOnDragDetected

    public final EventHandler<? super MouseEvent> getOnDragDetected()
    Gets the value of the `onDragDetected` property.
    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.
    Returns:
      the value of the `onDragDetected` property
    See Also:
      - `setOnDragDetected(EventHandler)`
      - `onDragDetectedProperty()`

  - ### 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.
    Returns:
      the event handler that is called when drag gesture has been detected
    See Also:
      - `getOnDragDetected()`
      - `setOnDragDetected(EventHandler)`

  - ### setOnMouseDragOver

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

  - ### getOnMouseDragOver

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

  - ### onMouseDragOverProperty

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragOverProperty()
    Defines a function to be called when a full press-drag-release gesture progresses within this `Node`.
    Returns:
      the event handler that is called when a full press-drag-release gesture progresses within this `Node`
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragOver()`
      - `setOnMouseDragOver(EventHandler)`

  - ### setOnMouseDragReleased

    public final void setOnMouseDragReleased(EventHandler<? super MouseDragEvent> value)
    Sets the value of the `onMouseDragReleased` property.
    Property description:
      Defines a function to be called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`.
    Parameters:
      `value` - the value for the `onMouseDragReleased` property
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragReleased()`
      - `onMouseDragReleasedProperty()`

  - ### getOnMouseDragReleased

    public final EventHandler<? super MouseDragEvent> getOnMouseDragReleased()
    Gets the value of the `onMouseDragReleased` property.
    Property description:
      Defines a function to be called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`.
    Returns:
      the value of the `onMouseDragReleased` property
    Since:
      JavaFX 2.1
    See Also:
      - `setOnMouseDragReleased(EventHandler)`
      - `onMouseDragReleasedProperty()`

  - ### onMouseDragReleasedProperty

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragReleasedProperty()
    Defines a function to be called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`.
    Returns:
      the event handler that is called when a full press-drag-release gesture ends (by releasing mouse button) within this `Node`
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragReleased()`
      - `setOnMouseDragReleased(EventHandler)`

  - ### setOnMouseDragEntered

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

  - ### getOnMouseDragEntered

    public final EventHandler<? super MouseDragEvent> getOnMouseDragEntered()
    Gets the value of the `onMouseDragEntered` property.
    Property description:
      Defines a function to be called when a full press-drag-release gesture enters this `Node`.
    Returns:
      the value of the `onMouseDragEntered` property
    Since:
      JavaFX 2.1
    See Also:
      - `setOnMouseDragEntered(EventHandler)`
      - `onMouseDragEnteredProperty()`

  - ### onMouseDragEnteredProperty

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragEnteredProperty()
    Defines a function to be called when a full press-drag-release gesture enters this `Node`.
    Returns:
      the event handler that is called when a full press-drag-release gesture enters this `Node`
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragEntered()`
      - `setOnMouseDragEntered(EventHandler)`

  - ### setOnMouseDragExited

    public final void setOnMouseDragExited(EventHandler<? super MouseDragEvent> value)
    Sets the value of the `onMouseDragExited` property.
    Property description:
      Defines a function to be called when a full press-drag-release gesture leaves this `Node`.
    Parameters:
      `value` - the value for the `onMouseDragExited` property
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragExited()`
      - `onMouseDragExitedProperty()`

  - ### getOnMouseDragExited

    public final EventHandler<? super MouseDragEvent> getOnMouseDragExited()
    Gets the value of the `onMouseDragExited` property.
    Property description:
      Defines a function to be called when a full press-drag-release gesture leaves this `Node`.
    Returns:
      the value of the `onMouseDragExited` property
    Since:
      JavaFX 2.1
    See Also:
      - `setOnMouseDragExited(EventHandler)`
      - `onMouseDragExitedProperty()`

  - ### onMouseDragExitedProperty

    public final ObjectProperty<EventHandler<? super MouseDragEvent>> onMouseDragExitedProperty()
    Defines a function to be called when a full press-drag-release gesture leaves this `Node`.
    Returns:
      the event handler that is called when a full press-drag-release gesture leaves this `Node`
    Since:
      JavaFX 2.1
    See Also:
      - `getOnMouseDragExited()`
      - `setOnMouseDragExited(EventHandler)`

  - ### setOnScrollStarted

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

  - ### getOnScrollStarted

    public final EventHandler<? super ScrollEvent> getOnScrollStarted()
    Gets the value of the `onScrollStarted` property.
    Property description:
      Defines a function to be called when a scrolling gesture is detected.
    Returns:
      the value of the `onScrollStarted` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnScrollStarted(EventHandler)`
      - `onScrollStartedProperty()`

  - ### onScrollStartedProperty

    public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollStartedProperty()
    Defines a function to be called when a scrolling gesture is detected.
    Returns:
      the event handler that is 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 `onScroll` property.
    Property description:
      Defines a function to be called when user performs a scrolling action.
    Parameters:
      `value` - the value for the `onScroll` property
    See Also:
      - `getOnScroll()`
      - `onScrollProperty()`

  - ### getOnScroll

    public final EventHandler<? super ScrollEvent> getOnScroll()
    Gets the value of the `onScroll` property.
    Property description:
      Defines a function to be called when user performs a scrolling action.
    Returns:
      the value of the `onScroll` property
    See Also:
      - `setOnScroll(EventHandler)`
      - `onScrollProperty()`

  - ### onScrollProperty

    public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollProperty()
    Defines a function to be called when user performs a scrolling action.
    Returns:
      the event handler that is 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 `onScrollFinished` property.
    Property description:
      Defines a function to be called when a scrolling gesture ends.
    Parameters:
      `value` - the value for the `onScrollFinished` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnScrollFinished()`
      - `onScrollFinishedProperty()`

  - ### getOnScrollFinished

    public final EventHandler<? super ScrollEvent> getOnScrollFinished()
    Gets the value of the `onScrollFinished` property.
    Property description:
      Defines a function to be called when a scrolling gesture ends.
    Returns:
      the value of the `onScrollFinished` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnScrollFinished(EventHandler)`
      - `onScrollFinishedProperty()`

  - ### onScrollFinishedProperty

    public final ObjectProperty<EventHandler<? super ScrollEvent>> onScrollFinishedProperty()
    Defines a function to be called when a scrolling gesture ends.
    Returns:
      the event handler that is 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 `onRotationStarted` property.
    Property description:
      Defines a function to be called when a rotation gesture is detected.
    Parameters:
      `value` - the value for the `onRotationStarted` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotationStarted()`
      - `onRotationStartedProperty()`

  - ### getOnRotationStarted

    public final EventHandler<? super RotateEvent> getOnRotationStarted()
    Gets the value of the `onRotationStarted` property.
    Property description:
      Defines a function to be called when a rotation gesture is detected.
    Returns:
      the value of the `onRotationStarted` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnRotationStarted(EventHandler)`
      - `onRotationStartedProperty()`

  - ### onRotationStartedProperty

    public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationStartedProperty()
    Defines a function to be called when a rotation gesture is detected.
    Returns:
      the event handler that is called when a rotation 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 `onRotate` property.
    Property description:
      Defines a function to be called when user performs a rotation action.
    Parameters:
      `value` - the value for the `onRotate` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotate()`
      - `onRotateProperty()`

  - ### getOnRotate

    public final EventHandler<? super RotateEvent> getOnRotate()
    Gets the value of the `onRotate` property.
    Property description:
      Defines a function to be called when user performs a rotation action.
    Returns:
      the value of the `onRotate` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnRotate(EventHandler)`
      - `onRotateProperty()`

  - ### onRotateProperty

    public final ObjectProperty<EventHandler<? super RotateEvent>> onRotateProperty()
    Defines a function to be called when user performs a rotation action.
    Returns:
      the event handler that is called when user performs a rotation action
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotate()`
      - `setOnRotate(EventHandler)`

  - ### setOnRotationFinished

    public final void setOnRotationFinished(EventHandler<? super RotateEvent> value)
    Sets the value of the `onRotationFinished` property.
    Property description:
      Defines a function to be called when a rotation gesture ends.
    Parameters:
      `value` - the value for the `onRotationFinished` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnRotationFinished()`
      - `onRotationFinishedProperty()`

  - ### getOnRotationFinished

    public final EventHandler<? super RotateEvent> getOnRotationFinished()
    Gets the value of the `onRotationFinished` property.
    Property description:
      Defines a function to be called when a rotation gesture ends.
    Returns:
      the value of the `onRotationFinished` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnRotationFinished(EventHandler)`
      - `onRotationFinishedProperty()`

  - ### onRotationFinishedProperty

    public final ObjectProperty<EventHandler<? super RotateEvent>> onRotationFinishedProperty()
    Defines a function to be called when a rotation gesture ends.
    Returns:
      the event handler that is called when a rotation 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 `onZoomStarted` property.
    Property description:
      Defines a function to be called when a zooming gesture is detected.
    Parameters:
      `value` - the value for the `onZoomStarted` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnZoomStarted()`
      - `onZoomStartedProperty()`

  - ### getOnZoomStarted

    public final EventHandler<? super ZoomEvent> getOnZoomStarted()
    Gets the value of the `onZoomStarted` property.
    Property description:
      Defines a function to be called when a zooming gesture is detected.
    Returns:
      the value of the `onZoomStarted` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnZoomStarted(EventHandler)`
      - `onZoomStartedProperty()`

  - ### onZoomStartedProperty

    public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomStartedProperty()
    Defines a function to be called when a zooming gesture is detected.
    Returns:
      the event handler that is 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 `onZoom` property.
    Property description:
      Defines a function to be called when user performs a zooming action.
    Parameters:
      `value` - the value for the `onZoom` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnZoom()`
      - `onZoomProperty()`

  - ### getOnZoom

    public final EventHandler<? super ZoomEvent> getOnZoom()
    Gets the value of the `onZoom` property.
    Property description:
      Defines a function to be called when user performs a zooming action.
    Returns:
      the value of the `onZoom` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnZoom(EventHandler)`
      - `onZoomProperty()`

  - ### onZoomProperty

    public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomProperty()
    Defines a function to be called when user performs a zooming action.
    Returns:
      the event handler that is 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 `onZoomFinished` property.
    Property description:
      Defines a function to be called when a zooming gesture ends.
    Parameters:
      `value` - the value for the `onZoomFinished` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnZoomFinished()`
      - `onZoomFinishedProperty()`

  - ### getOnZoomFinished

    public final EventHandler<? super ZoomEvent> getOnZoomFinished()
    Gets the value of the `onZoomFinished` property.
    Property description:
      Defines a function to be called when a zooming gesture ends.
    Returns:
      the value of the `onZoomFinished` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnZoomFinished(EventHandler)`
      - `onZoomFinishedProperty()`

  - ### onZoomFinishedProperty

    public final ObjectProperty<EventHandler<? super ZoomEvent>> onZoomFinishedProperty()
    Defines a function to be called when a zooming gesture ends.
    Returns:
      the event handler that is 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 `onSwipeUp` property.
    Property description:
      Defines a function to be called when an upward swipe gesture centered over this node happens.
    Parameters:
      `value` - the value for the `onSwipeUp` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeUp()`
      - `onSwipeUpProperty()`

  - ### getOnSwipeUp

    public final EventHandler<? super SwipeEvent> getOnSwipeUp()
    Gets the value of the `onSwipeUp` property.
    Property description:
      Defines a function to be called when an upward swipe gesture centered over this node happens.
    Returns:
      the value of the `onSwipeUp` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnSwipeUp(EventHandler)`
      - `onSwipeUpProperty()`

  - ### onSwipeUpProperty

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeUpProperty()
    Defines a function to be called when an upward swipe gesture centered over this node happens.
    Returns:
      the event handler that is called when an upward swipe gesture centered over this node happens
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeUp()`
      - `setOnSwipeUp(EventHandler)`

  - ### setOnSwipeDown

    public final void setOnSwipeDown(EventHandler<? super SwipeEvent> value)
    Sets the value of the `onSwipeDown` property.
    Property description:
      Defines a function to be called when a downward swipe gesture centered over this node happens.
    Parameters:
      `value` - the value for the `onSwipeDown` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeDown()`
      - `onSwipeDownProperty()`

  - ### getOnSwipeDown

    public final EventHandler<? super SwipeEvent> getOnSwipeDown()
    Gets the value of the `onSwipeDown` property.
    Property description:
      Defines a function to be called when a downward swipe gesture centered over this node happens.
    Returns:
      the value of the `onSwipeDown` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnSwipeDown(EventHandler)`
      - `onSwipeDownProperty()`

  - ### onSwipeDownProperty

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeDownProperty()
    Defines a function to be called when a downward swipe gesture centered over this node happens.
    Returns:
      the event handler that is called when a downward swipe gesture centered over this node happens
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeDown()`
      - `setOnSwipeDown(EventHandler)`

  - ### setOnSwipeLeft

    public final void setOnSwipeLeft(EventHandler<? super SwipeEvent> value)
    Sets the value of the `onSwipeLeft` property.
    Property description:
      Defines a function to be called when a leftward swipe gesture centered over this node happens.
    Parameters:
      `value` - the value for the `onSwipeLeft` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeLeft()`
      - `onSwipeLeftProperty()`

  - ### getOnSwipeLeft

    public final EventHandler<? super SwipeEvent> getOnSwipeLeft()
    Gets the value of the `onSwipeLeft` property.
    Property description:
      Defines a function to be called when a leftward swipe gesture centered over this node happens.
    Returns:
      the value of the `onSwipeLeft` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnSwipeLeft(EventHandler)`
      - `onSwipeLeftProperty()`

  - ### onSwipeLeftProperty

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeLeftProperty()
    Defines a function to be called when a leftward swipe gesture centered over this node happens.
    Returns:
      the event handler that is called when a leftward swipe gesture centered over this node happens
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeLeft()`
      - `setOnSwipeLeft(EventHandler)`

  - ### setOnSwipeRight

    public final void setOnSwipeRight(EventHandler<? super SwipeEvent> value)
    Sets the value of the `onSwipeRight` property.
    Property description:
      Defines a function to be called when an rightward swipe gesture centered over this node happens.
    Parameters:
      `value` - the value for the `onSwipeRight` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeRight()`
      - `onSwipeRightProperty()`

  - ### getOnSwipeRight

    public final EventHandler<? super SwipeEvent> getOnSwipeRight()
    Gets the value of the `onSwipeRight` property.
    Property description:
      Defines a function to be called when an rightward swipe gesture centered over this node happens.
    Returns:
      the value of the `onSwipeRight` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnSwipeRight(EventHandler)`
      - `onSwipeRightProperty()`

  - ### onSwipeRightProperty

    public final ObjectProperty<EventHandler<? super SwipeEvent>> onSwipeRightProperty()
    Defines a function to be called when an rightward swipe gesture centered over this node happens.
    Returns:
      the event handler that is called when an rightward swipe gesture centered over this node happens
    Since:
      JavaFX 2.2
    See Also:
      - `getOnSwipeRight()`
      - `setOnSwipeRight(EventHandler)`

  - ### setOnTouchPressed

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

  - ### getOnTouchPressed

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

  - ### onTouchPressedProperty

    public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchPressedProperty()
    Defines a function to be called when a new touch point is pressed.
    Returns:
      the event handler that is 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 `onTouchMoved` property.
    Property description:
      Defines a function to be called when a touch point is moved.
    Parameters:
      `value` - the value for the `onTouchMoved` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnTouchMoved()`
      - `onTouchMovedProperty()`

  - ### getOnTouchMoved

    public final EventHandler<? super TouchEvent> getOnTouchMoved()
    Gets the value of the `onTouchMoved` property.
    Property description:
      Defines a function to be called when a touch point is moved.
    Returns:
      the value of the `onTouchMoved` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnTouchMoved(EventHandler)`
      - `onTouchMovedProperty()`

  - ### onTouchMovedProperty

    public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchMovedProperty()
    Defines a function to be called when a touch point is moved.
    Returns:
      the event handler that is 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 `onTouchReleased` property.
    Property description:
      Defines a function to be called when a touch point is released.
    Parameters:
      `value` - the value for the `onTouchReleased` property
    Since:
      JavaFX 2.2
    See Also:
      - `getOnTouchReleased()`
      - `onTouchReleasedProperty()`

  - ### getOnTouchReleased

    public final EventHandler<? super TouchEvent> getOnTouchReleased()
    Gets the value of the `onTouchReleased` property.
    Property description:
      Defines a function to be called when a touch point is released.
    Returns:
      the value of the `onTouchReleased` property
    Since:
      JavaFX 2.2
    See Also:
      - `setOnTouchReleased(EventHandler)`
      - `onTouchReleasedProperty()`

  - ### onTouchReleasedProperty

    public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchReleasedProperty()
    Defines a function to be called when a touch point is released.
    Returns:
      the event handler that is called when a touch point is released
    Since:
      JavaFX 2.2
    See Also:
      - `getOnTouchReleased()`
      - `setOnTouchReleased(EventHandler)`

  - ### setOnTouchStationary

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

  - ### getOnTouchStationary

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

  - ### onTouchStationaryProperty

    public final ObjectProperty<EventHandler<? super TouchEvent>> onTouchStationaryProperty()
    Defines a function to be called when a touch point stays pressed and still.
    Returns:
      the event handler that is called when a touch point stays pressed and still
    Since:
      JavaFX 2.2
    See Also:
      - `getOnTouchStationary()`
      - `setOnTouchStationary(EventHandler)`

  - ### setOnKeyPressed

    public final void setOnKeyPressed(EventHandler<? super KeyEvent> value)
    Sets the value of the `onKeyPressed` property.
    Property description:
      Defines a function to be called when this `Node` or its child `Node` 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.
    Parameters:
      `value` - the value for the `onKeyPressed` property
    See Also:
      - `getOnKeyPressed()`
      - `onKeyPressedProperty()`

  - ### getOnKeyPressed

    public final EventHandler<? super KeyEvent> getOnKeyPressed()
    Gets the value of the `onKeyPressed` property.
    Property description:
      Defines a function to be called when this `Node` or its child `Node` 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.
    Returns:
      the value of the `onKeyPressed` property
    See Also:
      - `setOnKeyPressed(EventHandler)`
      - `onKeyPressedProperty()`

  - ### onKeyPressedProperty

    public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyPressedProperty()
    Defines a function to be called when this `Node` or its child `Node` 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.
    Returns:
      the event handler that is called when this `Node` or its child `Node` has input focus and a key has been pressed
    See Also:
      - `getOnKeyPressed()`
      - `setOnKeyPressed(EventHandler)`

  - ### setOnKeyReleased

    public final void setOnKeyReleased(EventHandler<? super KeyEvent> value)
    Sets the value of the `onKeyReleased` property.
    Property description:
      Defines a function to be called when this `Node` or its child `Node` 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.
    Parameters:
      `value` - the value for the `onKeyReleased` property
    See Also:
      - `getOnKeyReleased()`
      - `onKeyReleasedProperty()`

  - ### getOnKeyReleased

    public final EventHandler<? super KeyEvent> getOnKeyReleased()
    Gets the value of the `onKeyReleased` property.
    Property description:
      Defines a function to be called when this `Node` or its child `Node` 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.
    Returns:
      the value of the `onKeyReleased` property
    See Also:
      - `setOnKeyReleased(EventHandler)`
      - `onKeyReleasedProperty()`

  - ### onKeyReleasedProperty

    public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyReleasedProperty()
    Defines a function to be called when this `Node` or its child `Node` 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.
    Returns:
      the event handler that is called when this `Node` or its child `Node` has input focus and a key has been released
    See Also:
      - `getOnKeyReleased()`
      - `setOnKeyReleased(EventHandler)`

  - ### setOnKeyTyped

    public final void setOnKeyTyped(EventHandler<? super KeyEvent> value)
    Sets the value of the `onKeyTyped` property.
    Property description:
      Defines a function to be called when this `Node` or its child `Node` 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.
    Parameters:
      `value` - the value for the `onKeyTyped` property
    See Also:
      - `getOnKeyTyped()`
      - `onKeyTypedProperty()`

  - ### getOnKeyTyped

    public final EventHandler<? super KeyEvent> getOnKeyTyped()
    Gets the value of the `onKeyTyped` property.
    Property description:
      Defines a function to be called when this `Node` or its child `Node` 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.
    Returns:
      the value of the `onKeyTyped` property
    See Also:
      - `setOnKeyTyped(EventHandler)`
      - `onKeyTypedProperty()`

  - ### onKeyTypedProperty

    public final ObjectProperty<EventHandler<? super KeyEvent>> onKeyTypedProperty()
    Defines a function to be called when this `Node` or its child `Node` 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.
    Returns:
      the event handler that is called when this `Node` or its child `Node` has input focus and a key has been typed
    See Also:
      - `getOnKeyTyped()`
      - `setOnKeyTyped(EventHandler)`

  - ### setOnInputMethodTextChanged

    public final void setOnInputMethodTextChanged(EventHandler<? super InputMethodEvent> value)
    Sets the value of the `onInputMethodTextChanged` property.
    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.

    Parameters:
      `value` - the value for the `onInputMethodTextChanged` property
    See Also:
      - `getOnInputMethodTextChanged()`
      - `onInputMethodTextChangedProperty()`

  - ### getOnInputMethodTextChanged

    public final EventHandler<? super InputMethodEvent> getOnInputMethodTextChanged()
    Gets the value of the `onInputMethodTextChanged` property.
    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.

    Returns:
      the value of the `onInputMethodTextChanged` property
    See Also:
      - `setOnInputMethodTextChanged(EventHandler)`
      - `onInputMethodTextChangedProperty()`

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

    Returns:
      the event handler that is called when this `Node` has input focus and the input method text has changed
    See Also:
      - `getOnInputMethodTextChanged()`
      - `setOnInputMethodTextChanged(EventHandler)`

  - ### setInputMethodRequests

    public final void setInputMethodRequests(InputMethodRequests value)
    Sets the value of the `inputMethodRequests` property.
    Property description:
      Property holding InputMethodRequests.
    Parameters:
      `value` - the value for the `inputMethodRequests` property
    See Also:
      - `getInputMethodRequests()`
      - `inputMethodRequestsProperty()`

  - ### getInputMethodRequests

    public final InputMethodRequests getInputMethodRequests()
    Gets the value of the `inputMethodRequests` property.
    Property description:
      Property holding InputMethodRequests.
    Returns:
      the value of the `inputMethodRequests` property
    See Also:
      - `setInputMethodRequests(InputMethodRequests)`
      - `inputMethodRequestsProperty()`

  - ### inputMethodRequestsProperty

    public final ObjectProperty<InputMethodRequests> inputMethodRequestsProperty()
    Property holding InputMethodRequests.
    Returns:
      InputMethodRequestsProperty
    See Also:
      - `getInputMethodRequests()`
      - `setInputMethodRequests(InputMethodRequests)`

  - ### setFocused

    protected final void setFocused(boolean value)
    Sets the value of the `focused` property.
    Property description:
      Indicates whether this `Node` currently has the input focus. To have the input focus, a node must be the `Scene`'s focus owner, and the scene must be in a `Stage` that is visible and active. See `requestFocus()` for more information.
    Default value:
      false
    Parameters:
      `value` - the value for the `focused` property
    See Also:
      - `isFocused()`
      - `focusedProperty()`

  - ### isFocused

    public final boolean isFocused()
    Gets the value of the `focused` property.
    Property description:
      Indicates whether this `Node` currently has the input focus. To have the input focus, a node must be the `Scene`'s focus owner, and the scene must be in a `Stage` that is visible and active. See `requestFocus()` for more information.
    Default value:
      false
    Returns:
      the value of the `focused` property
    See Also:
      - `setFocused(boolean)`
      - `focusedProperty()`

  - ### focusedProperty

    public final ReadOnlyBooleanProperty focusedProperty()
    Indicates whether this `Node` currently has the input focus. To have the input focus, a node must be the `Scene`'s focus owner, and the scene must be in a `Stage` that is visible and active. See `requestFocus()` for more information.
    Default value:
      false
    Returns:
      the `focused` property
    See Also:
      - `isFocused()`
      - `setFocused(boolean)`

  - ### isFocusVisible

    public final boolean isFocusVisible()
    Gets the value of the `focusVisible` property.
    Property description:
      Indicates whether this `Node` should visibly indicate focus. This flag is set when the node acquires input focus via keyboard navigation, and it is cleared when the node loses focus or when `requestFocus()` is called.
    Default value:
      false
    Returns:
      the value of the `focusVisible` property
    Since:
      19
    See Also:
      - `focusVisibleProperty()`

  - ### focusVisibleProperty

    public final ReadOnlyBooleanProperty focusVisibleProperty()
    Indicates whether this `Node` should visibly indicate focus. This flag is set when the node acquires input focus via keyboard navigation, and it is cleared when the node loses focus or when `requestFocus()` is called.
    Default value:
      false
    Returns:
      the `focusVisible` property
    Since:
      19
    See Also:
      - `isFocusVisible()`

  - ### isFocusWithin

    public final boolean isFocusWithin()
    Gets the value of the `focusWithin` property.
    Property description:
      Indicates whether this `Node` or any of its descendants currently has the input focus.
    Default value:
      false
    Returns:
      the value of the `focusWithin` property
    Since:
      19
    See Also:
      - `focusWithinProperty()`

  - ### focusWithinProperty

    public final ReadOnlyBooleanProperty focusWithinProperty()
    Indicates whether this `Node` or any of its descendants currently has the input focus.
    Default value:
      false
    Returns:
      the `focusWithin` property
    Since:
      19
    See Also:
      - `isFocusWithin()`

  - ### setFocusTraversable

    public final void setFocusTraversable(boolean value)
    Sets the value of the `focusTraversable` property.
    Property description:
      Specifies whether this `Node` should be a part of focus traversal cycle. When this property is `true` focus can be moved to this `Node` and from this `Node` using regular focus traversal keys. On a desktop such keys are usually `TAB` for moving focus forward and `SHIFT+TAB` for moving focus backward. When a `Scene` is created, the system gives focus to a `Node` whose `focusTraversable` variable is true and that is eligible to receive the focus, unless the focus had been set explicitly via a call to `requestFocus()`.
    Default value:
      false
    Parameters:
      `value` - the value for the `focusTraversable` property
    See Also:
      - `isFocusTraversable()`
      - `focusTraversableProperty()`

  - ### isFocusTraversable

    public final boolean isFocusTraversable()
    Gets the value of the `focusTraversable` property.
    Property description:
      Specifies whether this `Node` should be a part of focus traversal cycle. When this property is `true` focus can be moved to this `Node` and from this `Node` using regular focus traversal keys. On a desktop such keys are usually `TAB` for moving focus forward and `SHIFT+TAB` for moving focus backward. When a `Scene` is created, the system gives focus to a `Node` whose `focusTraversable` variable is true and that is eligible to receive the focus, unless the focus had been set explicitly via a call to `requestFocus()`.
    Default value:
      false
    Returns:
      the value of the `focusTraversable` property
    See Also:
      - `setFocusTraversable(boolean)`
      - `focusTraversableProperty()`

  - ### focusTraversableProperty

    public final BooleanProperty focusTraversableProperty()
    Specifies whether this `Node` should be a part of focus traversal cycle. When this property is `true` focus can be moved to this `Node` and from this `Node` using regular focus traversal keys. On a desktop such keys are usually `TAB` for moving focus forward and `SHIFT+TAB` for moving focus backward. When a `Scene` is created, the system gives focus to a `Node` whose `focusTraversable` variable is true and that is eligible to receive the focus, unless the focus had been set explicitly via a call to `requestFocus()`.
    Default value:
      false
    Returns:
      the `focusTraversable` property
    See Also:
      - `isFocusTraversable()`
      - `setFocusTraversable(boolean)`

  - ### requestFocus

    public void requestFocus()
    Requests that this `Node` get the input focus, and that this `Node`'s top-level ancestor become the focused window. To be eligible to receive the focus, the node must be part of a scene, it and all of its ancestors must be visible, and it must not be disabled. If this node is eligible, this function will cause it to become this `Scene`'s "focus owner". Each scene has at most one focus owner node. The focus owner will not actually have the input focus, however, unless the scene belongs to a `Stage` that is both visible and active.

    This method will clear the `focusVisible` flag.

  - ### requestFocusTraversal

    public final boolean requestFocusTraversal(TraversalDirection direction)
    Requests to move the focus from this `Node` in the specified direction. The `Node` serves as a reference point and does not have to be focused or focusable. A successful traversal results in a new `Node` being focused.

    This method is expected to be called in response to a `KeyEvent`; therefore the `Node` receiving focus will have the `focusVisible` property set.

    Parameters:
      `direction` - the direction of focus traversal, non-null
    Returns:
      `true` if traversal was successful
    Since:
      24

  - ### toString

    public String toString()
    Returns a string representation for the object.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation for the object.

  - ### setEventDispatcher

    public final void setEventDispatcher(EventDispatcher value)
    Sets the value of the `eventDispatcher` property.
    Property description:
      Specifies the event dispatcher for this node. The default event dispatcher sends the received events to the registered event handlers and filters. When replacing the value with a new `EventDispatcher`, the new dispatcher should forward events to the replaced dispatcher to maintain the node's default event handling behavior.
    Parameters:
      `value` - the value for the `eventDispatcher` property
    See Also:
      - `getEventDispatcher()`
      - `eventDispatcherProperty()`

  - ### getEventDispatcher

    public final EventDispatcher getEventDispatcher()
    Gets the value of the `eventDispatcher` property.
    Property description:
      Specifies the event dispatcher for this node. The default event dispatcher sends the received events to the registered event handlers and filters. When replacing the value with a new `EventDispatcher`, the new dispatcher should forward events to the replaced dispatcher to maintain the node's default event handling behavior.
    Returns:
      the value of the `eventDispatcher` property
    See Also:
      - `setEventDispatcher(EventDispatcher)`
      - `eventDispatcherProperty()`

  - ### eventDispatcherProperty

    public final ObjectProperty<EventDispatcher> eventDispatcherProperty()
    Specifies the event dispatcher for this node. The default event dispatcher sends the received events to the registered event handlers and filters. When replacing the value with a new `EventDispatcher`, the new dispatcher should forward events to the replaced dispatcher to maintain the node's default event handling behavior.
    Returns:
      the `eventDispatcher` property
    See Also:
      - `getEventDispatcher()`
      - `setEventDispatcher(EventDispatcher)`

  - ### addEventHandler

    public final <T extends Event> void addEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
    Description copied from interface: `EventTarget`
    Registers an event handler for this target.

    The handler is called when the target receives an `Event` of the specified type during the bubbling phase of event delivery.

    Specified by:
      `addEventHandler` in interface `EventTarget`
    Type Parameters:
      `T` - the event class of the handler
    Parameters:
      `eventType` - the type of the events received by the handler
      `eventHandler` - the event handler

  - ### removeEventHandler

    public final <T extends Event> void removeEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
    Description copied from interface: `EventTarget`
    Unregisters a previously registered event handler from this target.

    Since it is possible to register a single `EventHandler` instance for different event types, the caller needs to specify the event type from which the handler should be unregistered.

    Specified by:
      `removeEventHandler` in interface `EventTarget`
    Type Parameters:
      `T` - the event class of the handler
    Parameters:
      `eventType` - the event type from which to unregister
      `eventHandler` - the event handler

  - ### addEventFilter

    public final <T extends Event> void addEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
    Description copied from interface: `EventTarget`
    Registers an event filter for this target.

    The filter is called when the target receives an `Event` of the specified type during the capturing phase of event delivery.

    Specified by:
      `addEventFilter` in interface `EventTarget`
    Type Parameters:
      `T` - the event class of the filter
    Parameters:
      `eventType` - the type of the events received by the filter
      `eventFilter` - the event filter

  - ### removeEventFilter

    public final <T extends Event> void removeEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
    Description copied from interface: `EventTarget`
    Unregisters a previously registered event filter from this target.

    Since it is possible to register a single `EventHandler` instance for different event types, the caller needs to specify the event type from which the filter should be unregistered.

    Specified by:
      `removeEventFilter` in interface `EventTarget`
    Type Parameters:
      `T` - the event class of the filter
    Parameters:
      `eventType` - the event type from which to unregister
      `eventFilter` - the event filter

  - ### 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 as the last, after handlers added using `addEventHandler(javafx.event.EventType, javafx.event.EventHandler)`. 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

  - ### buildEventDispatchChain

    public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
    Description copied from interface: `EventTarget`
    Construct an event dispatch chain for this target. The event dispatch chain contains event dispatchers which might be interested in processing of events targeted at this `EventTarget`. This event target is not automatically added to the chain, so if it wants to process events, it needs to add an `EventDispatcher` for itself to the chain.

    In the case the event target is part of some hierarchy, the chain for it is usually built from event dispatchers collected from the root of the hierarchy to the event target.

    The event dispatch chain is constructed by modifications to the provided initial event dispatch chain. The returned chain should have the initial chain at its end so the dispatchers should be prepended to the initial chain.

    The caller shouldn't assume that the initial chain remains unchanged nor that the returned value will reference a different chain.

    Specified by:
      `buildEventDispatchChain` in interface `EventTarget`
    Parameters:
      `tail` - the initial chain to build from
    Returns:
      the resulting event dispatch chain for this target

  - ### fireEvent

    public final void fireEvent(Event event)
    Fires the specified event. By default the event will travel through the hierarchy from the stage to this node. Any event filter encountered will be notified and can consume the event. If not consumed by the filters, the event handlers on this node are notified. If these don't consume the event either, the event will travel back the same path it arrived to this node. All event handlers encountered are called and can consume the event.

    This method must be called on the FX user thread.

    Parameters:
      `event` - the event to fire

  - ### getTypeSelector

    public String getTypeSelector()
    The type of this `Styleable` that is to be used in selector matching. This is analogous to an "element" in HTML. (CSS Type Selector).
    Specified by:
      `getTypeSelector` in interface `Styleable`
    Returns:
      `getClass().getName()` without the package name
    Since:
      JavaFX 8.0

  - ### getStyleableParent

    public Styleable getStyleableParent()
    Return the parent of this Styleable, or null if there is no parent.
    Specified by:
      `getStyleableParent` in interface `Styleable`
    Returns:
      `getParent()`
    Since:
      JavaFX 8.0

  - ### getInitialFocusTraversable

    protected Boolean getInitialFocusTraversable()
    Returns the initial focus traversable state of this node, for use by the JavaFX CSS engine to correctly set its initial value. This method can be overridden by subclasses in instances where focus traversable should initially be true (as the default implementation of this method is to return false).
    Returns:
      the initial focus traversable state for this `Node`.
    Since:
      9

  - ### getInitialCursor

    protected Cursor getInitialCursor()
    Returns the initial cursor state of this node, for use by the JavaFX CSS engine to correctly set its initial value. This method can be overridden by subclasses in instances where the cursor should initially be non-null (as the default implementation of this method is to return null).
    Returns:
      the initial cursor state for this `Node`.
    Since:
      9

  - ### getClassCssMetaData

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData()
    Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
    Returns:
      the `CssMetaData`
    Since:
      JavaFX 8.0

  - ### getCssMetaData

    public List<CssMetaData<? extends Styleable, ?>> getCssMetaData()
    This method should delegate to `getClassCssMetaData()` so that a Node's CssMetaData can be accessed without the need for reflection.
    Specified by:
      `getCssMetaData` in interface `Styleable`
    Returns:
      The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
    Since:
      JavaFX 8.0

  - ### pseudoClassStateChanged

    public final void pseudoClassStateChanged(PseudoClass pseudoClass, boolean active)
    Used to specify that a pseudo-class of this Node has changed. If the pseudo-class is used in a CSS selector that matches this Node, CSS will be reapplied. Typically, this method is called from the `invalidated` method of a property that is used as a pseudo-class. For example:

             private static final PseudoClass MY_PSEUDO_CLASS_STATE = PseudoClass.getPseudoClass("my-state");

             BooleanProperty myPseudoClassState = new BooleanPropertyBase(false) {

                   @Override public void invalidated() {
                        pseudoClassStateChanged(MY_PSEUDO_CLASS_STATE, get());
                   }

                   @Override public Object getBean() {
                       return MyControl.this;
                   }

                   @Override public String getName() {
                       return "myPseudoClassState";
                   }
               };

    Parameters:
      `pseudoClass` - the pseudo-class that has changed state
      `active` - whether or not the state is active
    Since:
      JavaFX 8.0

  - ### getPseudoClassStates

    public final ObservableSet<PseudoClass> getPseudoClassStates()
    Description copied from interface: `Styleable`
    Return the pseudo-class state of this Styleable. CSS assumes this set is read-only.
    Specified by:
      `getPseudoClassStates` in interface `Styleable`
    Returns:
      The active pseudo-class states of this Node, wrapped in an unmodifiable ObservableSet
    Since:
      JavaFX 8.0

  - ### applyCss

    public final void applyCss()
    If required, apply styles to this Node and its children, if any. This method does not normally need to be invoked directly but may be used in conjunction with `Parent.layout()` to size a Node before the next pulse, or if the `Scene` is not in a `Stage`.

    Provided that the Node's `Scene` is not null, CSS is applied to this Node regardless of whether this Node's CSS state is clean. CSS styles are applied from the top-most parent of this Node whose CSS state is other than clean, which may affect the styling of other nodes. This method is a no-op if the Node is not in a Scene. The Scene does not have to be in a Stage.

    This method does not invoke the `Parent.layout()` method. Typically, the caller will use the following sequence of operations.

             parentNode.applyCss();
             parentNode.layout();

    As a more complete example, the following code uses `applyCss()` and `layout()` to find the width and height of the Button before the Stage has been shown. If either the call to `applyCss()` or the call to `layout()` is commented out, the calls to `getWidth()` and `getHeight()` will return zero (until some time after the Stage is shown).

         @Override
         public void start(Stage stage) throws Exception {

            Group root = new Group();
            Scene scene = new Scene(root);

            Button button = new Button("Hello World");
            root.getChildren().add(button);

            root.applyCss();
            root.layout();

            double width = button.getWidth();
            double height = button.getHeight();

            System.out.println(width + ", " + height);

            stage.setScene(scene);
            stage.show();
         }

    Since:
      JavaFX 8.0

  - ### setAccessibleRole

    public final void setAccessibleRole(AccessibleRole value)
    Sets the value of the `accessibleRole` property.
    Property description:
      The accessible role for this `Node`.

      The screen reader uses the role of a node to determine the attributes and actions that are supported.

    Default value:
      `AccessibleRole.NODE`
    Parameters:
      `value` - the value for the `accessibleRole` property
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleRole()`
      - `accessibleRoleProperty()`

  - ### getAccessibleRole

    public final AccessibleRole getAccessibleRole()
    Gets the value of the `accessibleRole` property.
    Property description:
      The accessible role for this `Node`.

      The screen reader uses the role of a node to determine the attributes and actions that are supported.

    Default value:
      `AccessibleRole.NODE`
    Returns:
      the value of the `accessibleRole` property
    Since:
      JavaFX 8u40
    See Also:
      - `setAccessibleRole(AccessibleRole)`
      - `accessibleRoleProperty()`

  - ### accessibleRoleProperty

    public final ObjectProperty<AccessibleRole> accessibleRoleProperty()
    The accessible role for this `Node`.

    The screen reader uses the role of a node to determine the attributes and actions that are supported.

    Default value:
      `AccessibleRole.NODE`
    Returns:
      the `accessibleRole` property
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleRole()`
      - `setAccessibleRole(AccessibleRole)`

  - ### setAccessibleRoleDescription

    public final void setAccessibleRoleDescription(String value)
    Sets the value of the `accessibleRoleDescription` property.
    Property description:
      The role description of this `Node`.

      Normally, when a role is provided for a node, the screen reader speaks the role as well as the contents of the node. When this value is set, it is possible to override the default. This is useful because the set of roles is predefined. For example, it is possible to set the role of a node to be a button, but have the role description be arbitrary text.

    Default value:
      null
    Parameters:
      `value` - the value for the `accessibleRoleDescription` property
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleRoleDescription()`
      - `accessibleRoleDescriptionProperty()`

  - ### getAccessibleRoleDescription

    public final String getAccessibleRoleDescription()
    Gets the value of the `accessibleRoleDescription` property.
    Property description:
      The role description of this `Node`.

      Normally, when a role is provided for a node, the screen reader speaks the role as well as the contents of the node. When this value is set, it is possible to override the default. This is useful because the set of roles is predefined. For example, it is possible to set the role of a node to be a button, but have the role description be arbitrary text.

    Default value:
      null
    Returns:
      the value of the `accessibleRoleDescription` property
    Since:
      JavaFX 8u40
    See Also:
      - `setAccessibleRoleDescription(String)`
      - `accessibleRoleDescriptionProperty()`

  - ### accessibleRoleDescriptionProperty

    public final ObjectProperty<String> accessibleRoleDescriptionProperty()
    The role description of this `Node`.

    Normally, when a role is provided for a node, the screen reader speaks the role as well as the contents of the node. When this value is set, it is possible to override the default. This is useful because the set of roles is predefined. For example, it is possible to set the role of a node to be a button, but have the role description be arbitrary text.

    Default value:
      null
    Returns:
      the role description of this `Node`.
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleRoleDescription()`
      - `setAccessibleRoleDescription(String)`

  - ### setAccessibleText

    public final void setAccessibleText(String value)
    Sets the value of the `accessibleText` property.
    Property description:
      The accessible text for this `Node`.

      This property is used to set the text that the screen reader will speak. If a node normally speaks text, that text is overriden. For example, a button usually speaks using the text in the control but will no longer do this when this value is set.

    Default value:
      null
    Parameters:
      `value` - the value for the `accessibleText` property
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleText()`
      - `accessibleTextProperty()`

  - ### getAccessibleText

    public final String getAccessibleText()
    Gets the value of the `accessibleText` property.
    Property description:
      The accessible text for this `Node`.

      This property is used to set the text that the screen reader will speak. If a node normally speaks text, that text is overriden. For example, a button usually speaks using the text in the control but will no longer do this when this value is set.

    Default value:
      null
    Returns:
      the value of the `accessibleText` property
    Since:
      JavaFX 8u40
    See Also:
      - `setAccessibleText(String)`
      - `accessibleTextProperty()`

  - ### accessibleTextProperty

    public final ObjectProperty<String> accessibleTextProperty()
    The accessible text for this `Node`.

    This property is used to set the text that the screen reader will speak. If a node normally speaks text, that text is overriden. For example, a button usually speaks using the text in the control but will no longer do this when this value is set.

    Default value:
      null
    Returns:
      accessible text for this `Node`.
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleText()`
      - `setAccessibleText(String)`

  - ### setAccessibleHelp

    public final void setAccessibleHelp(String value)
    Sets the value of the `accessibleHelp` property.
    Property description:
      The accessible help text for this `Node`.

      The help text provides a more detailed description of the accessible text for a node. By default, if the node has a tool tip, this text is used.

    Default value:
      null
    Parameters:
      `value` - the value for the `accessibleHelp` property
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleHelp()`
      - `accessibleHelpProperty()`

  - ### getAccessibleHelp

    public final String getAccessibleHelp()
    Gets the value of the `accessibleHelp` property.
    Property description:
      The accessible help text for this `Node`.

      The help text provides a more detailed description of the accessible text for a node. By default, if the node has a tool tip, this text is used.

    Default value:
      null
    Returns:
      the value of the `accessibleHelp` property
    Since:
      JavaFX 8u40
    See Also:
      - `setAccessibleHelp(String)`
      - `accessibleHelpProperty()`

  - ### accessibleHelpProperty

    public final ObjectProperty<String> accessibleHelpProperty()
    The accessible help text for this `Node`.

    The help text provides a more detailed description of the accessible text for a node. By default, if the node has a tool tip, this text is used.

    Default value:
      null
    Returns:
      the accessible help text for this `Node`.
    Since:
      JavaFX 8u40
    See Also:
      - `getAccessibleHelp()`
      - `setAccessibleHelp(String)`

  - ### queryAccessibleAttribute

    public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
    This method is called by the assistive technology to request the value for an attribute.

    This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
    If a particular attribute is not handled, the superclass implementation must be called.

    Parameters:
      `attribute` - the requested attribute
      `parameters` - optional list of parameters
    Returns:
      the value for the requested attribute
    Since:
      JavaFX 8u40
    See Also:
      - `AccessibleAttribute`

  - ### executeAccessibleAction

    public void executeAccessibleAction(AccessibleAction action, Object... parameters)
    This method is called by the assistive technology to request the action indicated by the argument should be executed.

    This method is commonly overridden by subclasses to implement action that are required for a specific role.
    If a particular action is not handled, the superclass implementation must be called.

    Parameters:
      `action` - the action to execute
      `parameters` - optional list of parameters
    Since:
      JavaFX 8u40
    See Also:
      - `AccessibleAction`

  - ### notifyAccessibleAttributeChanged

    public final void notifyAccessibleAttributeChanged(AccessibleAttribute attributes)
    This method is called by the application to notify the assistive technology that the value for an attribute has changed.
    Parameters:
      `attributes` - the attribute whose value has changed
    Since:
      JavaFX 8u40
    See Also:
      - `AccessibleAttribute`