Window (JavaFX 17)

Module javafx.graphics
Package javafx.stage

## Class Window

- java.lang.Object
- - javafx.stage.Window

- All Implemented Interfaces:
    `EventTarget`
  Direct Known Subclasses:
    `PopupWindow`, `Stage`

      public class Window
      extends Object
      implements EventTarget

  A top level window within which a scene is hosted, and with which the user interacts. A Window might be a `Stage`, `PopupWindow`, or other such top level window.

  Window objects must be constructed and modified 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.

  Some `Window` properties are read-only, even though they have corresponding set methods, because they can be changed externally by the underlying platform, and therefore must not be bindable. Further, these properties might be ignored on some platforms, depending on whether or not there is a window manager and how it is configured. For example, a tiling window manager might ignore the `x` and `y` properties, or treat them as hints, placing the window in a location of its choosing.

  Since:
    JavaFX 2.0

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ObjectProperty<EventDispatcher>` | `eventDispatcher` | Specifies the event dispatcher for this node.
    `ReadOnlyBooleanProperty` | `focused` | Whether or not this `Window` has the keyboard or input focus.
    `BooleanProperty` | `forceIntegerRenderScale` | Boolean property that controls whether only integer render scales are set by default by the system when there is a change in the associated output scale.
    `ReadOnlyDoubleProperty` | `height` | The height of this `Window`.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onCloseRequest` | Called when there is an external request to close this `Window`.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onHidden` | Called just after the Window has been hidden.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onHiding` | Called just prior to the Window being hidden.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onShowing` | Called just prior to the Window being shown.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onShown` | Called just after the Window is shown.
    `DoubleProperty` | `opacity` | Defines the opacity of the `Window` as a value between 0.0 and 1.0.
    `ReadOnlyDoubleProperty` | `outputScaleX` | The scale that the `Window` will apply to horizontal scene coordinates in all stages of rendering and compositing the output to the screen or other destination device.
    `ReadOnlyDoubleProperty` | `outputScaleY` | The scale that the `Window` will apply to vertical scene coordinates in all stages of rendering and compositing the output to the screen or other destination device.
    `DoubleProperty` | `renderScaleX` | The horizontal scale that the `Window` will use when rendering its `Scene` to the rendering buffer.
    `DoubleProperty` | `renderScaleY` | The vertical scale that the `Window` will use when rendering its `Scene` to the rendering buffer.
    `ReadOnlyObjectProperty<Scene>` | `scene` | The `Scene` to be rendered on this `Window`.
    `ReadOnlyBooleanProperty` | `showing` | Whether or not this `Window` is showing (that is, open on the user's system).
    `ReadOnlyDoubleProperty` | `width` | The width of this `Window`.
    `ReadOnlyDoubleProperty` | `x` | The horizontal location of this `Window` on the screen.
    `ReadOnlyDoubleProperty` | `y` | The vertical location of this `Window` on the screen.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Window()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends Event> void` | `addEventFilter​(EventType<T> eventType, EventHandler<? super T> eventFilter)` | Registers an event filter to this node.
    `<T extends Event> void` | `addEventHandler​(EventType<T> eventType, EventHandler<? super T> eventHandler)` | Registers an event handler to this node.
    `EventDispatchChain` | `buildEventDispatchChain​(EventDispatchChain tail)` | Construct an event dispatch chain for this window.
    `void` | `centerOnScreen()` | Sets x and y properties on this Window so that it is centered on the curent screen.
    `ObjectProperty<EventDispatcher>` | `eventDispatcherProperty()` | Specifies the event dispatcher for this node.
    `void` | `fireEvent​(Event event)` | Fires the specified event.
    `ReadOnlyBooleanProperty` | `focusedProperty()` | Whether or not this `Window` has the keyboard or input focus.
    `BooleanProperty` | `forceIntegerRenderScaleProperty()` | Boolean property that controls whether only integer render scales are set by default by the system when there is a change in the associated output scale.
    `EventDispatcher` | `getEventDispatcher()` | Gets the value of the property eventDispatcher.
    `double` | `getHeight()` | Gets the value of the property height.
    `EventHandler<WindowEvent>` | `getOnCloseRequest()` | Gets the value of the property onCloseRequest.
    `EventHandler<WindowEvent>` | `getOnHidden()` | Gets the value of the property onHidden.
    `EventHandler<WindowEvent>` | `getOnHiding()` | Gets the value of the property onHiding.
    `EventHandler<WindowEvent>` | `getOnShowing()` | Gets the value of the property onShowing.
    `EventHandler<WindowEvent>` | `getOnShown()` | Gets the value of the property onShown.
    `double` | `getOpacity()` | Gets the value of the property opacity.
    `double` | `getOutputScaleX()` | Gets the value of the property outputScaleX.
    `double` | `getOutputScaleY()` | Gets the value of the property outputScaleY.
    `ObservableMap<Object,​Object>` | `getProperties()` | Returns an observable map of properties on this node for use primarily by application developers.
    `double` | `getRenderScaleX()` | Gets the value of the property renderScaleX.
    `double` | `getRenderScaleY()` | Gets the value of the property renderScaleY.
    `Scene` | `getScene()` | Gets the value of the property scene.
    `Object` | `getUserData()` | Returns a previously set Object property, or null if no such property has been set using the `setUserData(java.lang.Object)` method.
    `double` | `getWidth()` | Gets the value of the property width.
    `static ObservableList<Window>` | `getWindows()` | Returns a list containing a reference to the currently showing JavaFX windows.
    `double` | `getX()` | Gets the value of the property x.
    `double` | `getY()` | Gets the value of the property y.
    `boolean` | `hasProperties()` | Tests if Window has properties.
    `ReadOnlyDoubleProperty` | `heightProperty()` | The height of this `Window`.
    `void` | `hide()` | Attempts to hide this Window by setting the visibility to false.
    `boolean` | `isFocused()` | Gets the value of the property focused.
    `boolean` | `isForceIntegerRenderScale()` | Gets the value of the property forceIntegerRenderScale.
    `boolean` | `isShowing()` | Gets the value of the property showing.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onCloseRequestProperty()` | Called when there is an external request to close this `Window`.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onHiddenProperty()` | Called just after the Window has been hidden.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onHidingProperty()` | Called just prior to the Window being hidden.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onShowingProperty()` | Called just prior to the Window being shown.
    `ObjectProperty<EventHandler<WindowEvent>>` | `onShownProperty()` | Called just after the Window is shown.
    `DoubleProperty` | `opacityProperty()` | Defines the opacity of the `Window` as a value between 0.0 and 1.0.
    `ReadOnlyDoubleProperty` | `outputScaleXProperty()` | The scale that the `Window` will apply to horizontal scene coordinates in all stages of rendering and compositing the output to the screen or other destination device.
    `ReadOnlyDoubleProperty` | `outputScaleYProperty()` | The scale that the `Window` will apply to vertical scene coordinates in all stages of rendering and compositing the output to the screen or other destination device.
    `<T extends Event> void` | `removeEventFilter​(EventType<T> eventType, EventHandler<? super T> eventFilter)` | Unregisters a previously registered event filter from this node.
    `<T extends Event> void` | `removeEventHandler​(EventType<T> eventType, EventHandler<? super T> eventHandler)` | Unregisters a previously registered event handler from this node.
    `DoubleProperty` | `renderScaleXProperty()` | The horizontal scale that the `Window` will use when rendering its `Scene` to the rendering buffer.
    `DoubleProperty` | `renderScaleYProperty()` | The vertical scale that the `Window` will use when rendering its `Scene` to the rendering buffer.
    `void` | `requestFocus()` | Requests that this `Window` get the input focus.
    `ReadOnlyObjectProperty<Scene>` | `sceneProperty()` | The `Scene` to be rendered on this `Window`.
    `void` | `setEventDispatcher​(EventDispatcher value)` | Sets the value of the property eventDispatcher.
    `protected <T extends Event> void` | `setEventHandler​(EventType<T> eventType, EventHandler<? super T> eventHandler)` | Sets the handler to use for this event type.
    `void` | `setForceIntegerRenderScale​(boolean forced)` | Sets the value of the property forceIntegerRenderScale.
    `void` | `setHeight​(double value)` | Sets the value of the property height.
    `void` | `setOnCloseRequest​(EventHandler<WindowEvent> value)` | Sets the value of the property onCloseRequest.
    `void` | `setOnHidden​(EventHandler<WindowEvent> value)` | Sets the value of the property onHidden.
    `void` | `setOnHiding​(EventHandler<WindowEvent> value)` | Sets the value of the property onHiding.
    `void` | `setOnShowing​(EventHandler<WindowEvent> value)` | Sets the value of the property onShowing.
    `void` | `setOnShown​(EventHandler<WindowEvent> value)` | Sets the value of the property onShown.
    `void` | `setOpacity​(double value)` | Sets the value of the property opacity.
    `void` | `setRenderScaleX​(double scale)` | Sets the value of the property renderScaleX.
    `void` | `setRenderScaleY​(double scale)` | Sets the value of the property renderScaleY.
    `protected void` | `setScene​(Scene value)` | Sets the value of the property scene.
    `void` | `setUserData​(Object value)` | Convenience method for setting a single Object property that can be retrieved at a later date.
    `void` | `setWidth​(double value)` | Sets the value of the property width.
    `void` | `setX​(double value)` | Sets the value of the property x.
    `void` | `setY​(double value)` | Sets the value of the property y.
    `protected void` | `show()` | Attempts to show this Window by setting visibility to true
    `ReadOnlyBooleanProperty` | `showingProperty()` | Whether or not this `Window` is showing (that is, open on the user's system).
    `void` | `sizeToScene()` | Set the width and height of this Window to match the size of the content of this Window's Scene.
    `ReadOnlyDoubleProperty` | `widthProperty()` | The width of this `Window`.
    `ReadOnlyDoubleProperty` | `xProperty()` | The horizontal location of this `Window` on the screen.
    `ReadOnlyDoubleProperty` | `yProperty()` | The vertical location of this `Window` on the screen.

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

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

- - ### Property Detail

    - #### outputScaleX

          public final ReadOnlyDoubleProperty outputScaleXProperty

      The scale that the `Window` will apply to horizontal scene coordinates in all stages of rendering and compositing the output to the screen or other destination device. This property is updated asynchronously by the system at various times including:
      - Window creation
      - At some point during moving a window to a new `Screen` which may be before or after the `Screen` property is updated.
      - In response to a change in user preferences for output scaling.
      Since:
        9
      See Also:
        `getOutputScaleX()`

    - #### outputScaleY

          public final ReadOnlyDoubleProperty outputScaleYProperty

      The scale that the `Window` will apply to vertical scene coordinates in all stages of rendering and compositing the output to the screen or other destination device. This property is updated asynchronously by the system at various times including:
      - Window creation
      - At some point during moving a window to a new `Screen` which may be before or after the `Screen` property is updated.
      - In response to a change in user preferences for output scaling.
      Since:
        9
      See Also:
        `getOutputScaleY()`

    - #### forceIntegerRenderScale

          public final BooleanProperty forceIntegerRenderScaleProperty

      Boolean property that controls whether only integer render scales are set by default by the system when there is a change in the associated output scale. The `renderScale` properties will be updated directly and simultaneously with any changes in the associated `outputScale` properties, but the values can be overridden by subsequent calls to the `setRenderScale` setters or through appropriate use of binding. This property will not prevent setting non-integer scales directly using the `renderScale` property object or the convenience setter method.
      Default value:
        false
      Since:
        9
      See Also:
        `isForceIntegerRenderScale()`, `setForceIntegerRenderScale(boolean)`

    - #### renderScaleX

          public final DoubleProperty renderScaleXProperty

      The horizontal scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleX` property and can be overridden either by calling `setRenderScaleX()` in response to a listener on the `outputScaleX` property or by binding it appropriately.
      Default value:
        outputScaleX
      Since:
        9
      See Also:
        `getRenderScaleX()`, `setRenderScaleX(double)`

    - #### renderScaleY

          public final DoubleProperty renderScaleYProperty

      The vertical scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleY` property and can be overridden either by calling `setRenderScaleY()` in response to a listener on the `outputScaleY` property or by binding it appropriately.
      Default value:
        outputScaleY
      Since:
        9
      See Also:
        `getRenderScaleY()`, `setRenderScaleY(double)`

    - #### x

          public final ReadOnlyDoubleProperty xProperty

      The horizontal location of this `Window` on the screen. Changing this attribute will move the `Window` horizontally. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getX()`, `setX(double)`

    - #### y

          public final ReadOnlyDoubleProperty yProperty

      The vertical location of this `Window` on the screen. Changing this attribute will move the `Window` vertically. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getY()`, `setY(double)`

    - #### width

          public final ReadOnlyDoubleProperty widthProperty

      The width of this `Window`. Changing this attribute will narrow or widen the width of the `Window`. This value includes any and all decorations which may be added by the Operating System such as resizable frame handles. Typical applications will set the `Scene` width instead. This `Window` will take its width from the scene if it has never been set by the application. Resizing the window by end user does not count as a setting the width by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getWidth()`, `setWidth(double)`

    - #### height

          public final ReadOnlyDoubleProperty heightProperty

      The height of this `Window`. Changing this attribute will shrink or heighten the height of the `Window`. This value includes any and all decorations which may be added by the Operating System such as the title bar. Typical applications will set the `Scene` height instead. This window will take its height from the scene if it has never been set by the application. Resizing this window by end user does not count as a setting the height by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getHeight()`, `setHeight(double)`

    - #### focused

          public final ReadOnlyBooleanProperty focusedProperty

      Whether or not this `Window` has the keyboard or input focus.
      See Also:
        `isFocused()`

    - #### scene

          public final ReadOnlyObjectProperty<Scene> sceneProperty

      The `Scene` to be rendered on this `Window`. There can only be one `Scene` on the `Window` at a time, and a `Scene` can only be on one `Window` at a time. Setting a `Scene` on a different `Window` will cause the old `Window` to lose the reference before the new one gains it. You may swap `Scene`s on a `Window` at any time, even if it is an instance of `Stage` and with `fullScreen` set to true. If the width or height of this `Window` have never been set by the application, setting the scene will cause this `Window` to take its width or height from that scene. Resizing this window by end user does not count as setting the width or height by the application. An `IllegalStateException` is thrown if this property is set on a thread other than the JavaFX Application Thread.
      Default value:
        null
      See Also:
        `getScene()`, `setScene(Scene)`

    - #### opacity

          public final DoubleProperty opacityProperty

      Defines the opacity of the `Window` as a value between 0.0 and 1.0. The opacity is reflected across the `Window`, its `Decoration` and its `Scene` content. On a JavaFX runtime platform that does not support opacity, assigning a value to this variable will have no visible difference. A `Window` with 0% opacity is fully translucent. Typically, a `Window` with 0% opacity will not receive any mouse events.
      Default value:
        1.0
      See Also:
        `getOpacity()`, `setOpacity(double)`

    - #### onCloseRequest

          public final ObjectProperty<EventHandler<WindowEvent>> onCloseRequestProperty

      Called when there is an external request to close this `Window`. The installed event handler can prevent window closing by consuming the received event.
      See Also:
        `getOnCloseRequest()`, `setOnCloseRequest(EventHandler)`

    - #### onShowing

          public final ObjectProperty<EventHandler<WindowEvent>> onShowingProperty

      Called just prior to the Window being shown.
      See Also:
        `getOnShowing()`, `setOnShowing(EventHandler)`

    - #### onShown

          public final ObjectProperty<EventHandler<WindowEvent>> onShownProperty

      Called just after the Window is shown.
      See Also:
        `getOnShown()`, `setOnShown(EventHandler)`

    - #### onHiding

          public final ObjectProperty<EventHandler<WindowEvent>> onHidingProperty

      Called just prior to the Window being hidden.
      See Also:
        `getOnHiding()`, `setOnHiding(EventHandler)`

    - #### onHidden

          public final ObjectProperty<EventHandler<WindowEvent>> onHiddenProperty

      Called just after the Window has been hidden. When the `Window` is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the `Window` is closed.
      See Also:
        `getOnHidden()`, `setOnHidden(EventHandler)`

    - #### showing

          public final ReadOnlyBooleanProperty showingProperty

      Whether or not this `Window` is showing (that is, open on the user's system). The Window might be "showing", yet the user might not be able to see it due to the Window being rendered behind another Window or due to the Window being positioned off the monitor.
      Default value:
        false
      See Also:
        `isShowing()`

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

  - ### Constructor Detail

    - #### Window

          protected Window()

  - ### Method Detail

    - #### getWindows

          public static ObservableList<Window> getWindows()

      Returns a list containing a reference to the currently showing JavaFX windows. The list is unmodifiable - attempting to modify this list will result in an `UnsupportedOperationException` being thrown at runtime.
      Returns:
        A list containing all windows that are currently showing.
      Since:
        9

    - #### sizeToScene

          public void sizeToScene()

      Set the width and height of this Window to match the size of the content of this Window's Scene.

    - #### centerOnScreen

          public void centerOnScreen()

      Sets x and y properties on this Window so that it is centered on the curent screen. The current screen is determined from the intersection of current window bounds and visual bounds of all screens.

    - #### getOutputScaleX

          public final double getOutputScaleX()

      Gets the value of the property outputScaleX.
      Property description:
        The scale that the `Window` will apply to horizontal scene coordinates in all stages of rendering and compositing the output to the screen or other destination device. This property is updated asynchronously by the system at various times including:
        - Window creation
        - At some point during moving a window to a new `Screen` which may be before or after the `Screen` property is updated.
        - In response to a change in user preferences for output scaling.
      Since:
        9

    - #### outputScaleXProperty

          public final ReadOnlyDoubleProperty outputScaleXProperty()

      The scale that the `Window` will apply to horizontal scene coordinates in all stages of rendering and compositing the output to the screen or other destination device. This property is updated asynchronously by the system at various times including:
      - Window creation
      - At some point during moving a window to a new `Screen` which may be before or after the `Screen` property is updated.
      - In response to a change in user preferences for output scaling.
      Since:
        9
      See Also:
        `getOutputScaleX()`

    - #### getOutputScaleY

          public final double getOutputScaleY()

      Gets the value of the property outputScaleY.
      Property description:
        The scale that the `Window` will apply to vertical scene coordinates in all stages of rendering and compositing the output to the screen or other destination device. This property is updated asynchronously by the system at various times including:
        - Window creation
        - At some point during moving a window to a new `Screen` which may be before or after the `Screen` property is updated.
        - In response to a change in user preferences for output scaling.
      Since:
        9

    - #### outputScaleYProperty

          public final ReadOnlyDoubleProperty outputScaleYProperty()

      The scale that the `Window` will apply to vertical scene coordinates in all stages of rendering and compositing the output to the screen or other destination device. This property is updated asynchronously by the system at various times including:
      - Window creation
      - At some point during moving a window to a new `Screen` which may be before or after the `Screen` property is updated.
      - In response to a change in user preferences for output scaling.
      Since:
        9
      See Also:
        `getOutputScaleY()`

    - #### setForceIntegerRenderScale

          public final void setForceIntegerRenderScale​(boolean forced)

      Sets the value of the property forceIntegerRenderScale.
      Property description:
        Boolean property that controls whether only integer render scales are set by default by the system when there is a change in the associated output scale. The `renderScale` properties will be updated directly and simultaneously with any changes in the associated `outputScale` properties, but the values can be overridden by subsequent calls to the `setRenderScale` setters or through appropriate use of binding. This property will not prevent setting non-integer scales directly using the `renderScale` property object or the convenience setter method.
      Default value:
        false
      Since:
        9

    - #### isForceIntegerRenderScale

          public final boolean isForceIntegerRenderScale()

      Gets the value of the property forceIntegerRenderScale.
      Property description:
        Boolean property that controls whether only integer render scales are set by default by the system when there is a change in the associated output scale. The `renderScale` properties will be updated directly and simultaneously with any changes in the associated `outputScale` properties, but the values can be overridden by subsequent calls to the `setRenderScale` setters or through appropriate use of binding. This property will not prevent setting non-integer scales directly using the `renderScale` property object or the convenience setter method.
      Default value:
        false
      Since:
        9

    - #### forceIntegerRenderScaleProperty

          public final BooleanProperty forceIntegerRenderScaleProperty()

      Boolean property that controls whether only integer render scales are set by default by the system when there is a change in the associated output scale. The `renderScale` properties will be updated directly and simultaneously with any changes in the associated `outputScale` properties, but the values can be overridden by subsequent calls to the `setRenderScale` setters or through appropriate use of binding. This property will not prevent setting non-integer scales directly using the `renderScale` property object or the convenience setter method.
      Default value:
        false
      Since:
        9
      See Also:
        `isForceIntegerRenderScale()`, `setForceIntegerRenderScale(boolean)`

    - #### setRenderScaleX

          public final void setRenderScaleX​(double scale)

      Sets the value of the property renderScaleX.
      Property description:
        The horizontal scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleX` property and can be overridden either by calling `setRenderScaleX()` in response to a listener on the `outputScaleX` property or by binding it appropriately.
      Default value:
        outputScaleX
      Since:
        9

    - #### getRenderScaleX

          public final double getRenderScaleX()

      Gets the value of the property renderScaleX.
      Property description:
        The horizontal scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleX` property and can be overridden either by calling `setRenderScaleX()` in response to a listener on the `outputScaleX` property or by binding it appropriately.
      Default value:
        outputScaleX
      Since:
        9

    - #### renderScaleXProperty

          public final DoubleProperty renderScaleXProperty()

      The horizontal scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleX` property and can be overridden either by calling `setRenderScaleX()` in response to a listener on the `outputScaleX` property or by binding it appropriately.
      Default value:
        outputScaleX
      Since:
        9
      See Also:
        `getRenderScaleX()`, `setRenderScaleX(double)`

    - #### setRenderScaleY

          public final void setRenderScaleY​(double scale)

      Sets the value of the property renderScaleY.
      Property description:
        The vertical scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleY` property and can be overridden either by calling `setRenderScaleY()` in response to a listener on the `outputScaleY` property or by binding it appropriately.
      Default value:
        outputScaleY
      Since:
        9

    - #### getRenderScaleY

          public final double getRenderScaleY()

      Gets the value of the property renderScaleY.
      Property description:
        The vertical scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleY` property and can be overridden either by calling `setRenderScaleY()` in response to a listener on the `outputScaleY` property or by binding it appropriately.
      Default value:
        outputScaleY
      Since:
        9

    - #### renderScaleYProperty

          public final DoubleProperty renderScaleYProperty()

      The vertical scale that the `Window` will use when rendering its `Scene` to the rendering buffer. This property is automatically updated whenever there is a change in the `outputScaleY` property and can be overridden either by calling `setRenderScaleY()` in response to a listener on the `outputScaleY` property or by binding it appropriately.
      Default value:
        outputScaleY
      Since:
        9
      See Also:
        `getRenderScaleY()`, `setRenderScaleY(double)`

    - #### setX

          public final void setX​(double value)

      Sets the value of the property x.
      Property description:
        The horizontal location of this `Window` on the screen. Changing this attribute will move the `Window` horizontally. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### getX

          public final double getX()

      Gets the value of the property x.
      Property description:
        The horizontal location of this `Window` on the screen. Changing this attribute will move the `Window` horizontally. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### xProperty

          public final ReadOnlyDoubleProperty xProperty()

      The horizontal location of this `Window` on the screen. Changing this attribute will move the `Window` horizontally. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getX()`, `setX(double)`

    - #### setY

          public final void setY​(double value)

      Sets the value of the property y.
      Property description:
        The vertical location of this `Window` on the screen. Changing this attribute will move the `Window` vertically. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### getY

          public final double getY()

      Gets the value of the property y.
      Property description:
        The vertical location of this `Window` on the screen. Changing this attribute will move the `Window` vertically. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### yProperty

          public final ReadOnlyDoubleProperty yProperty()

      The vertical location of this `Window` on the screen. Changing this attribute will move the `Window` vertically. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getY()`, `setY(double)`

    - #### setWidth

          public final void setWidth​(double value)

      Sets the value of the property width.
      Property description:
        The width of this `Window`. Changing this attribute will narrow or widen the width of the `Window`. This value includes any and all decorations which may be added by the Operating System such as resizable frame handles. Typical applications will set the `Scene` width instead. This `Window` will take its width from the scene if it has never been set by the application. Resizing the window by end user does not count as a setting the width by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### getWidth

          public final double getWidth()

      Gets the value of the property width.
      Property description:
        The width of this `Window`. Changing this attribute will narrow or widen the width of the `Window`. This value includes any and all decorations which may be added by the Operating System such as resizable frame handles. Typical applications will set the `Scene` width instead. This `Window` will take its width from the scene if it has never been set by the application. Resizing the window by end user does not count as a setting the width by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### widthProperty

          public final ReadOnlyDoubleProperty widthProperty()

      The width of this `Window`. Changing this attribute will narrow or widen the width of the `Window`. This value includes any and all decorations which may be added by the Operating System such as resizable frame handles. Typical applications will set the `Scene` width instead. This `Window` will take its width from the scene if it has never been set by the application. Resizing the window by end user does not count as a setting the width by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getWidth()`, `setWidth(double)`

    - #### setHeight

          public final void setHeight​(double value)

      Sets the value of the property height.
      Property description:
        The height of this `Window`. Changing this attribute will shrink or heighten the height of the `Window`. This value includes any and all decorations which may be added by the Operating System such as the title bar. Typical applications will set the `Scene` height instead. This window will take its height from the scene if it has never been set by the application. Resizing this window by end user does not count as a setting the height by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### getHeight

          public final double getHeight()

      Gets the value of the property height.
      Property description:
        The height of this `Window`. Changing this attribute will shrink or heighten the height of the `Window`. This value includes any and all decorations which may be added by the Operating System such as the title bar. Typical applications will set the `Scene` height instead. This window will take its height from the scene if it has never been set by the application. Resizing this window by end user does not count as a setting the height by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

        This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

    - #### heightProperty

          public final ReadOnlyDoubleProperty heightProperty()

      The height of this `Window`. Changing this attribute will shrink or heighten the height of the `Window`. This value includes any and all decorations which may be added by the Operating System such as the title bar. Typical applications will set the `Scene` height instead. This window will take its height from the scene if it has never been set by the application. Resizing this window by end user does not count as a setting the height by the application. If this `Window` is an instance of `Stage`, changing this attribute will not visually affect the `Window` while `fullScreen` is true, but will be honored by the `Window` once `fullScreen` becomes false.

      This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.

      See Also:
        `getHeight()`, `setHeight(double)`

    - #### requestFocus

          public final void requestFocus()

      Requests that this `Window` get the input focus.

    - #### isFocused

          public final boolean isFocused()

      Gets the value of the property focused.
      Property description:
        Whether or not this `Window` has the keyboard or input focus.

    - #### focusedProperty

          public final ReadOnlyBooleanProperty focusedProperty()

      Whether or not this `Window` has the keyboard or input focus.
      See Also:
        `isFocused()`

    - #### getProperties

          public final ObservableMap<Object,​Object> getProperties()

      Returns an observable map of properties on this node for use primarily by application developers.
      Returns:
        an observable map of properties on this node for use primarily by application developers
      Since:
        JavaFX 8u40

    - #### hasProperties

          public boolean hasProperties()

      Tests if Window has properties.
      Returns:
        true if node has properties.
      Since:
        JavaFX 8u40

    - #### setUserData

          public void setUserData​(Object value)

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

    - #### getUserData

          public Object getUserData()

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

    - #### setScene

          protected void setScene​(Scene value)

      Sets the value of the property scene.
      Property description:
        The `Scene` to be rendered on this `Window`. There can only be one `Scene` on the `Window` at a time, and a `Scene` can only be on one `Window` at a time. Setting a `Scene` on a different `Window` will cause the old `Window` to lose the reference before the new one gains it. You may swap `Scene`s on a `Window` at any time, even if it is an instance of `Stage` and with `fullScreen` set to true. If the width or height of this `Window` have never been set by the application, setting the scene will cause this `Window` to take its width or height from that scene. Resizing this window by end user does not count as setting the width or height by the application. An `IllegalStateException` is thrown if this property is set on a thread other than the JavaFX Application Thread.
      Default value:
        null

    - #### getScene

          public final Scene getScene()

      Gets the value of the property scene.
      Property description:
        The `Scene` to be rendered on this `Window`. There can only be one `Scene` on the `Window` at a time, and a `Scene` can only be on one `Window` at a time. Setting a `Scene` on a different `Window` will cause the old `Window` to lose the reference before the new one gains it. You may swap `Scene`s on a `Window` at any time, even if it is an instance of `Stage` and with `fullScreen` set to true. If the width or height of this `Window` have never been set by the application, setting the scene will cause this `Window` to take its width or height from that scene. Resizing this window by end user does not count as setting the width or height by the application. An `IllegalStateException` is thrown if this property is set on a thread other than the JavaFX Application Thread.
      Default value:
        null

    - #### sceneProperty

          public final ReadOnlyObjectProperty<Scene> sceneProperty()

      The `Scene` to be rendered on this `Window`. There can only be one `Scene` on the `Window` at a time, and a `Scene` can only be on one `Window` at a time. Setting a `Scene` on a different `Window` will cause the old `Window` to lose the reference before the new one gains it. You may swap `Scene`s on a `Window` at any time, even if it is an instance of `Stage` and with `fullScreen` set to true. If the width or height of this `Window` have never been set by the application, setting the scene will cause this `Window` to take its width or height from that scene. Resizing this window by end user does not count as setting the width or height by the application. An `IllegalStateException` is thrown if this property is set on a thread other than the JavaFX Application Thread.
      Default value:
        null
      See Also:
        `getScene()`, `setScene(Scene)`

    - #### setOpacity

          public final void setOpacity​(double value)

      Sets the value of the property opacity.
      Property description:
        Defines the opacity of the `Window` as a value between 0.0 and 1.0. The opacity is reflected across the `Window`, its `Decoration` and its `Scene` content. On a JavaFX runtime platform that does not support opacity, assigning a value to this variable will have no visible difference. A `Window` with 0% opacity is fully translucent. Typically, a `Window` with 0% opacity will not receive any mouse events.
      Default value:
        1.0

    - #### getOpacity

          public final double getOpacity()

      Gets the value of the property opacity.
      Property description:
        Defines the opacity of the `Window` as a value between 0.0 and 1.0. The opacity is reflected across the `Window`, its `Decoration` and its `Scene` content. On a JavaFX runtime platform that does not support opacity, assigning a value to this variable will have no visible difference. A `Window` with 0% opacity is fully translucent. Typically, a `Window` with 0% opacity will not receive any mouse events.
      Default value:
        1.0

    - #### opacityProperty

          public final DoubleProperty opacityProperty()

      Defines the opacity of the `Window` as a value between 0.0 and 1.0. The opacity is reflected across the `Window`, its `Decoration` and its `Scene` content. On a JavaFX runtime platform that does not support opacity, assigning a value to this variable will have no visible difference. A `Window` with 0% opacity is fully translucent. Typically, a `Window` with 0% opacity will not receive any mouse events.
      Default value:
        1.0
      See Also:
        `getOpacity()`, `setOpacity(double)`

    - #### setOnCloseRequest

          public final void setOnCloseRequest​(EventHandler<WindowEvent> value)

      Sets the value of the property onCloseRequest.
      Property description:
        Called when there is an external request to close this `Window`. The installed event handler can prevent window closing by consuming the received event.

    - #### getOnCloseRequest

          public final EventHandler<WindowEvent> getOnCloseRequest()

      Gets the value of the property onCloseRequest.
      Property description:
        Called when there is an external request to close this `Window`. The installed event handler can prevent window closing by consuming the received event.

    - #### onCloseRequestProperty

          public final ObjectProperty<EventHandler<WindowEvent>> onCloseRequestProperty()

      Called when there is an external request to close this `Window`. The installed event handler can prevent window closing by consuming the received event.
      See Also:
        `getOnCloseRequest()`, `setOnCloseRequest(EventHandler)`

    - #### setOnShowing

          public final void setOnShowing​(EventHandler<WindowEvent> value)

      Sets the value of the property onShowing.
      Property description:
        Called just prior to the Window being shown.

    - #### getOnShowing

          public final EventHandler<WindowEvent> getOnShowing()

      Gets the value of the property onShowing.
      Property description:
        Called just prior to the Window being shown.

    - #### onShowingProperty

          public final ObjectProperty<EventHandler<WindowEvent>> onShowingProperty()

      Called just prior to the Window being shown.
      See Also:
        `getOnShowing()`, `setOnShowing(EventHandler)`

    - #### setOnShown

          public final void setOnShown​(EventHandler<WindowEvent> value)

      Sets the value of the property onShown.
      Property description:
        Called just after the Window is shown.

    - #### getOnShown

          public final EventHandler<WindowEvent> getOnShown()

      Gets the value of the property onShown.
      Property description:
        Called just after the Window is shown.

    - #### onShownProperty

          public final ObjectProperty<EventHandler<WindowEvent>> onShownProperty()

      Called just after the Window is shown.
      See Also:
        `getOnShown()`, `setOnShown(EventHandler)`

    - #### setOnHiding

          public final void setOnHiding​(EventHandler<WindowEvent> value)

      Sets the value of the property onHiding.
      Property description:
        Called just prior to the Window being hidden.

    - #### getOnHiding

          public final EventHandler<WindowEvent> getOnHiding()

      Gets the value of the property onHiding.
      Property description:
        Called just prior to the Window being hidden.

    - #### onHidingProperty

          public final ObjectProperty<EventHandler<WindowEvent>> onHidingProperty()

      Called just prior to the Window being hidden.
      See Also:
        `getOnHiding()`, `setOnHiding(EventHandler)`

    - #### setOnHidden

          public final void setOnHidden​(EventHandler<WindowEvent> value)

      Sets the value of the property onHidden.
      Property description:
        Called just after the Window has been hidden. When the `Window` is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the `Window` is closed.

    - #### getOnHidden

          public final EventHandler<WindowEvent> getOnHidden()

      Gets the value of the property onHidden.
      Property description:
        Called just after the Window has been hidden. When the `Window` is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the `Window` is closed.

    - #### onHiddenProperty

          public final ObjectProperty<EventHandler<WindowEvent>> onHiddenProperty()

      Called just after the Window has been hidden. When the `Window` is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the `Window` is closed.
      See Also:
        `getOnHidden()`, `setOnHidden(EventHandler)`

    - #### isShowing

          public final boolean isShowing()

      Gets the value of the property showing.
      Property description:
        Whether or not this `Window` is showing (that is, open on the user's system). The Window might be "showing", yet the user might not be able to see it due to the Window being rendered behind another Window or due to the Window being positioned off the monitor.
      Default value:
        false

    - #### showingProperty

          public final ReadOnlyBooleanProperty showingProperty()

      Whether or not this `Window` is showing (that is, open on the user's system). The Window might be "showing", yet the user might not be able to see it due to the Window being rendered behind another Window or due to the Window being positioned off the monitor.
      Default value:
        false
      See Also:
        `isShowing()`

    - #### show

          protected void show()

      Attempts to show this Window by setting visibility to true
      Throws:
        `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

    - #### hide

          public void hide()

      Attempts to hide this Window by setting the visibility to false.
      Throws:
        `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

    - #### setEventDispatcher

          public final void setEventDispatcher​(EventDispatcher value)

      Sets the value of the property eventDispatcher.
      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.

    - #### getEventDispatcher

          public final EventDispatcher getEventDispatcher()

      Gets the value of the property eventDispatcher.
      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.

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

    - #### addEventHandler

          public final <T extends Event> void addEventHandler​(EventType<T> eventType,
                                                              EventHandler<? super T> eventHandler)

      Registers an event handler to this node. The handler is called when the node receives an `Event` of the specified type during the bubbling phase of event delivery.
      Type Parameters:
        `T` - the specific event class of the handler
      Parameters:
        `eventType` - the type of the events to receive by the handler
        `eventHandler` - the handler to register
      Throws:
        `NullPointerException` - if the event type or handler is null

    - #### removeEventHandler

          public final <T extends Event> void removeEventHandler​(EventType<T> eventType,
                                                                 EventHandler<? super T> eventHandler)

      Unregisters a previously registered event handler from this node. One handler might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the handler.
      Type Parameters:
        `T` - the specific event class of the handler
      Parameters:
        `eventType` - the event type from which to unregister
        `eventHandler` - the handler to unregister
      Throws:
        `NullPointerException` - if the event type or handler is null

    - #### addEventFilter

          public final <T extends Event> void addEventFilter​(EventType<T> eventType,
                                                             EventHandler<? super T> eventFilter)

      Registers an event filter to this node. The filter is called when the node receives an `Event` of the specified type during the capturing phase of event delivery.
      Type Parameters:
        `T` - the specific event class of the filter
      Parameters:
        `eventType` - the type of the events to receive by the filter
        `eventFilter` - the filter to register
      Throws:
        `NullPointerException` - if the event type or filter is null

    - #### removeEventFilter

          public final <T extends Event> void removeEventFilter​(EventType<T> eventType,
                                                                EventHandler<? super T> eventFilter)

      Unregisters a previously registered event filter from this node. One filter might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the filter.
      Type Parameters:
        `T` - the specific event class of the filter
      Parameters:
        `eventType` - the event type from which to unregister
        `eventFilter` - the filter to unregister
      Throws:
        `NullPointerException` - if the event type or filter is null

    - #### setEventHandler

          protected final <T extends Event> void setEventHandler​(EventType<T> eventType,
                                                                 EventHandler<? super T> eventHandler)

      Sets the handler to use for this event type. There can only be one such handler specified at a time. This handler is guaranteed to be called first. This is used for registering the user-defined onFoo event handlers.
      Type Parameters:
        `T` - the specific event class of the handler
      Parameters:
        `eventType` - the event type to associate with the given eventHandler
        `eventHandler` - the handler to register, or null to unregister
      Throws:
        `NullPointerException` - if the event type is null

    - #### fireEvent

          public final void fireEvent​(Event event)

      Fires the specified event.

      This method must be called on the FX user thread.

      Parameters:
        `event` - the event to fire

    - #### buildEventDispatchChain

          public EventDispatchChain buildEventDispatchChain​(EventDispatchChain tail)

      Construct an event dispatch chain for this window.
      Specified by:
        `buildEventDispatchChain` in interface `EventTarget`
      Parameters:
        `tail` - the initial chain to build from
      Returns:
        the resulting event dispatch chain for this window