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 Details

    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • focused

      public final ReadOnlyBooleanProperty focusedProperty
      Whether or not this Window has the keyboard or input focus.
      See Also:
    • 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 Scenes 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:
    • 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:
    • 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:
    • onShowing

      public final ObjectProperty<EventHandler<WindowEvent>> onShowingProperty
      Called just prior to the Window being shown.
      See Also:
    • onShown

      public final ObjectProperty<EventHandler<WindowEvent>> onShownProperty
      Called just after the Window is shown.
      See Also:
    • onHiding

      public final ObjectProperty<EventHandler<WindowEvent>> onHidingProperty
      Called just prior to the Window being hidden.
      See Also:
    • 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:
    • 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:
    • 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:
  • Constructor Details

    • Window

      protected Window()
      Constructor for subclasses to call.
  • Method Details

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

      This request might be ignored if the Window is not allowed to do so, for example a Stage may be maximized or in fullScreen and therefore does not allow this request. If that is the case, this request is remembered and reapplied later when allowed.

    • 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 outputScaleX property.
      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.
      Returns:
      the value of the outputScaleX property
      Since:
      9
      See Also:
    • 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.
      Returns:
      the outputScaleX property
      Since:
      9
      See Also:
    • getOutputScaleY

      public final double getOutputScaleY()
      Gets the value of the outputScaleY property.
      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.
      Returns:
      the value of the outputScaleY property
      Since:
      9
      See Also:
    • 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.
      Returns:
      the outputScaleY property
      Since:
      9
      See Also:
    • setForceIntegerRenderScale

      public final void setForceIntegerRenderScale(boolean forced)
      Sets the value of the forceIntegerRenderScale property.
      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
      Parameters:
      forced - the value for the forceIntegerRenderScale property
      Since:
      9
      See Also:
    • isForceIntegerRenderScale

      public final boolean isForceIntegerRenderScale()
      Gets the value of the forceIntegerRenderScale property.
      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
      Returns:
      the value of the forceIntegerRenderScale property
      Since:
      9
      See Also:
    • 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
      Returns:
      the forceIntegerRenderScale property
      Since:
      9
      See Also:
    • setRenderScaleX

      public final void setRenderScaleX(double scale)
      Sets the value of the renderScaleX property.
      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
      Parameters:
      scale - the value for the renderScaleX property
      Since:
      9
      See Also:
    • getRenderScaleX

      public final double getRenderScaleX()
      Gets the value of the renderScaleX property.
      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
      Returns:
      the value of the renderScaleX property
      Since:
      9
      See Also:
    • 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
      Returns:
      the renderScaleX property
      Since:
      9
      See Also:
    • setRenderScaleY

      public final void setRenderScaleY(double scale)
      Sets the value of the renderScaleY property.
      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
      Parameters:
      scale - the value for the renderScaleY property
      Since:
      9
      See Also:
    • getRenderScaleY

      public final double getRenderScaleY()
      Gets the value of the renderScaleY property.
      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
      Returns:
      the value of the renderScaleY property
      Since:
      9
      See Also:
    • 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
      Returns:
      the renderScaleY property
      Since:
      9
      See Also:
    • setX

      public final void setX(double value)
      Sets the value of the x property.
      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.

      Parameters:
      value - the value for the x property
      See Also:
    • getX

      public final double getX()
      Gets the value of the x property.
      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.

      Returns:
      the value of the x property
      See Also:
    • 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.

      Returns:
      the x property
      See Also:
    • setY

      public final void setY(double value)
      Sets the value of the y property.
      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.

      Parameters:
      value - the value for the y property
      See Also:
    • getY

      public final double getY()
      Gets the value of the y property.
      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.

      Returns:
      the value of the y property
      See Also:
    • 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.

      Returns:
      the y property
      See Also:
    • setWidth

      public final void setWidth(double value)
      Sets the value of the width property.
      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.

      Parameters:
      value - the value for the width property
      See Also:
    • getWidth

      public final double getWidth()
      Gets the value of the width property.
      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.

      Returns:
      the value of the width property
      See Also:
    • 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.

      Returns:
      the width property
      See Also:
    • setHeight

      public final void setHeight(double value)
      Sets the value of the height property.
      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.

      Parameters:
      value - the value for the height property
      See Also:
    • getHeight

      public final double getHeight()
      Gets the value of the height property.
      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.

      Returns:
      the value of the height property
      See Also:
    • 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.

      Returns:
      the height property
      See Also:
    • requestFocus

      public final void requestFocus()
      Requests that this Window get the input focus.
    • isFocused

      public final boolean isFocused()
      Gets the value of the focused property.
      Property description:
      Whether or not this Window has the keyboard or input focus.
      Returns:
      the value of the focused property
      See Also:
    • focusedProperty

      public final ReadOnlyBooleanProperty focusedProperty()
      Whether or not this Window has the keyboard or input focus.
      Returns:
      the focused property
      See Also:
    • 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 scene property.

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

      Default value:
      null
      Parameters:
      value - the value for the scene property
      Throws:
      IllegalStateException - if this property is set on a thread other than the JavaFX Application Thread.
      See Also:
    • getScene

      public final Scene getScene()
      Gets the value of the scene property.
      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 Scenes 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
      Returns:
      the value of the scene property
      See Also:
    • 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 Scenes 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
      Returns:
      the scene property
      See Also:
    • setOpacity

      public final void setOpacity(double value)
      Sets the value of the opacity property.
      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
      Parameters:
      value - the value for the opacity property
      See Also:
    • getOpacity

      public final double getOpacity()
      Gets the value of the opacity property.
      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
      Returns:
      the value of the opacity property
      See Also:
    • 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
      Returns:
      the opacity property
      See Also:
    • setOnCloseRequest

      public final void setOnCloseRequest(EventHandler<WindowEvent> value)
      Sets the value of the onCloseRequest property.
      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.
      Parameters:
      value - the value for the onCloseRequest property
      See Also:
    • getOnCloseRequest

      public final EventHandler<WindowEvent> getOnCloseRequest()
      Gets the value of the onCloseRequest property.
      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.
      Returns:
      the value of the onCloseRequest property
      See Also:
    • 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.
      Returns:
      the onCloseRequest property
      See Also:
    • setOnShowing

      public final void setOnShowing(EventHandler<WindowEvent> value)
      Sets the value of the onShowing property.
      Property description:
      Called just prior to the Window being shown.
      Parameters:
      value - the value for the onShowing property
      See Also:
    • getOnShowing

      public final EventHandler<WindowEvent> getOnShowing()
      Gets the value of the onShowing property.
      Property description:
      Called just prior to the Window being shown.
      Returns:
      the value of the onShowing property
      See Also:
    • onShowingProperty

      public final ObjectProperty<EventHandler<WindowEvent>> onShowingProperty()
      Called just prior to the Window being shown.
      Returns:
      the onShowing property
      See Also:
    • setOnShown

      public final void setOnShown(EventHandler<WindowEvent> value)
      Sets the value of the onShown property.
      Property description:
      Called just after the Window is shown.
      Parameters:
      value - the value for the onShown property
      See Also:
    • getOnShown

      public final EventHandler<WindowEvent> getOnShown()
      Gets the value of the onShown property.
      Property description:
      Called just after the Window is shown.
      Returns:
      the value of the onShown property
      See Also:
    • onShownProperty

      public final ObjectProperty<EventHandler<WindowEvent>> onShownProperty()
      Called just after the Window is shown.
      Returns:
      the onShown property
      See Also:
    • setOnHiding

      public final void setOnHiding(EventHandler<WindowEvent> value)
      Sets the value of the onHiding property.
      Property description:
      Called just prior to the Window being hidden.
      Parameters:
      value - the value for the onHiding property
      See Also:
    • getOnHiding

      public final EventHandler<WindowEvent> getOnHiding()
      Gets the value of the onHiding property.
      Property description:
      Called just prior to the Window being hidden.
      Returns:
      the value of the onHiding property
      See Also:
    • onHidingProperty

      public final ObjectProperty<EventHandler<WindowEvent>> onHidingProperty()
      Called just prior to the Window being hidden.
      Returns:
      the onHiding property
      See Also:
    • setOnHidden

      public final void setOnHidden(EventHandler<WindowEvent> value)
      Sets the value of the onHidden property.
      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.
      Parameters:
      value - the value for the onHidden property
      See Also:
    • getOnHidden

      public final EventHandler<WindowEvent> getOnHidden()
      Gets the value of the onHidden property.
      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.
      Returns:
      the value of the onHidden property
      See Also:
    • 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.
      Returns:
      the onHidden property
      See Also:
    • isShowing

      public final boolean isShowing()
      Gets the value of the showing property.
      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
      Returns:
      the value of the showing property
      See Also:
    • 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
      Returns:
      the showing property
      See Also:
    • 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 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

      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:
    • 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:
    • 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 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)
      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