Package javafx.stage

Class PopupWindow

java.lang.Object
javafx.stage.Window
javafx.stage.PopupWindow
All Implemented Interfaces:
EventTarget
Direct Known Subclasses:
Popup, PopupControl

public abstract class PopupWindow extends Window
PopupWindow is the parent for a variety of different types of popup based windows including Popup and Tooltip and ContextMenu.

A PopupWindow is a secondary window which has no window decorations or title bar. It doesn't show up in the OS as a top-level window. It is typically used for tool tip like notification, drop down boxes, menus, and so forth.

The PopupWindow cannot be shown without an owner. PopupWindows require that an owner window exist in order to be shown. However, it is possible to create a PopupWindow ahead of time and simply set the owner (or change the owner) before first being made visible. Attempting to change the owner while the PopupWindow is visible will result in an IllegalStateException.

The PopupWindow encapsulates much of the behavior and functionality common to popups, such as the ability to close when the "esc" key is pressed, or the ability to hide all child popup windows whenever this window is hidden. These abilities can be enabled or disabled via properties.

Since:
JavaFX 2.0
  • Property Details

  • Constructor Details

    • PopupWindow

      public PopupWindow()
      Constructor for subclasses to call.
  • Method Details

    • getOwnerWindow

      public final Window getOwnerWindow()
      Gets the value of the ownerWindow property.
      Property description:
      The window which is the parent of this popup. All popups must have an owner window.
      Returns:
      the value of the ownerWindow property
      See Also:
    • ownerWindowProperty

      public final ReadOnlyObjectProperty<Window> ownerWindowProperty()
      The window which is the parent of this popup. All popups must have an owner window.
      Returns:
      the ownerWindow property
      See Also:
    • getOwnerNode

      public final Node getOwnerNode()
      Gets the value of the ownerNode property.
      Property description:
      The node which is the owner of this popup. All popups must have an owner window but are not required to be associated with an owner node. If an autohide Popup has an owner node, mouse press inside the owner node doesn't cause the Popup to hide.
      Returns:
      the value of the ownerNode property
      See Also:
    • ownerNodeProperty

      public final ReadOnlyObjectProperty<Node> ownerNodeProperty()
      The node which is the owner of this popup. All popups must have an owner window but are not required to be associated with an owner node. If an autohide Popup has an owner node, mouse press inside the owner node doesn't cause the Popup to hide.
      Returns:
      the ownerNode property
      See Also:
    • setScene

      protected final void setScene(Scene scene)
      Note to subclasses: the scene used by PopupWindow is very specifically managed by PopupWindow. This method is overridden to throw UnsupportedOperationException. You cannot specify your own scene.
      Overrides:
      setScene in class Window
      Parameters:
      scene - the scene to be rendered on this window
      See Also:
    • setAutoFix

      public final void setAutoFix(boolean value)
      Sets the value of the autoFix property.
      Property description:
      This convenience variable indicates whether, when the popup is shown, it should automatically correct its position such that it doesn't end up positioned off the screen.
      Default value:
      true
      Parameters:
      value - the value for the autoFix property
      See Also:
    • isAutoFix

      public final boolean isAutoFix()
      Gets the value of the autoFix property.
      Property description:
      This convenience variable indicates whether, when the popup is shown, it should automatically correct its position such that it doesn't end up positioned off the screen.
      Default value:
      true
      Returns:
      the value of the autoFix property
      See Also:
    • autoFixProperty

      public final BooleanProperty autoFixProperty()
      This convenience variable indicates whether, when the popup is shown, it should automatically correct its position such that it doesn't end up positioned off the screen.
      Default value:
      true
      Returns:
      the autoFix property
      See Also:
    • setAutoHide

      public final void setAutoHide(boolean value)
      Sets the value of the autoHide property.
      Property description:
      Specifies whether Popups should auto hide. If a popup loses focus and autoHide is true, then the popup will be hidden automatically.

      The only exception is when owner Node is specified using show(javafx.scene.Node, double, double). Focusing owner Node will not hide the PopupWindow.

      Default value:
      false
      Parameters:
      value - the value for the autoHide property
      See Also:
    • isAutoHide

      public final boolean isAutoHide()
      Gets the value of the autoHide property.
      Property description:
      Specifies whether Popups should auto hide. If a popup loses focus and autoHide is true, then the popup will be hidden automatically.

      The only exception is when owner Node is specified using show(javafx.scene.Node, double, double). Focusing owner Node will not hide the PopupWindow.

      Default value:
      false
      Returns:
      the value of the autoHide property
      See Also:
    • autoHideProperty

      public final BooleanProperty autoHideProperty()
      Specifies whether Popups should auto hide. If a popup loses focus and autoHide is true, then the popup will be hidden automatically.

      The only exception is when owner Node is specified using show(javafx.scene.Node, double, double). Focusing owner Node will not hide the PopupWindow.

      Default value:
      false
      Returns:
      the autoHide property
      See Also:
    • setOnAutoHide

      public final void setOnAutoHide(EventHandler<Event> value)
      Sets the value of the onAutoHide property.
      Property description:
      Called after autoHide is run.
      Parameters:
      value - the value for the onAutoHide property
      See Also:
    • getOnAutoHide

      public final EventHandler<Event> getOnAutoHide()
      Gets the value of the onAutoHide property.
      Property description:
      Called after autoHide is run.
      Returns:
      the value of the onAutoHide property
      See Also:
    • onAutoHideProperty

      public final ObjectProperty<EventHandler<Event>> onAutoHideProperty()
      Called after autoHide is run.
      Returns:
      the onAutoHide property
      See Also:
    • setHideOnEscape

      public final void setHideOnEscape(boolean value)
      Sets the value of the hideOnEscape property.
      Property description:
      Specifies whether the PopupWindow should be hidden when an unhandled escape key is pressed while the popup has focus.
      Default value:
      true
      Parameters:
      value - the value for the hideOnEscape property
      See Also:
    • isHideOnEscape

      public final boolean isHideOnEscape()
      Gets the value of the hideOnEscape property.
      Property description:
      Specifies whether the PopupWindow should be hidden when an unhandled escape key is pressed while the popup has focus.
      Default value:
      true
      Returns:
      the value of the hideOnEscape property
      See Also:
    • hideOnEscapeProperty

      public final BooleanProperty hideOnEscapeProperty()
      Specifies whether the PopupWindow should be hidden when an unhandled escape key is pressed while the popup has focus.
      Default value:
      true
      Returns:
      the hideOnEscape property
      See Also:
    • setConsumeAutoHidingEvents

      public final void setConsumeAutoHidingEvents(boolean value)
      Sets the value of the consumeAutoHidingEvents property.
      Property description:
      Specifies whether the event, which caused the Popup to hide, should be consumed. Having the event consumed prevents it from triggering some additional UI response in the Popup's owner window.
      Default value:
      true
      Parameters:
      value - the value for the consumeAutoHidingEvents property
      Since:
      JavaFX 2.2
      See Also:
    • getConsumeAutoHidingEvents

      public final boolean getConsumeAutoHidingEvents()
      Gets the value of the consumeAutoHidingEvents property.
      Property description:
      Specifies whether the event, which caused the Popup to hide, should be consumed. Having the event consumed prevents it from triggering some additional UI response in the Popup's owner window.
      Default value:
      true
      Returns:
      the value of the consumeAutoHidingEvents property
      Since:
      JavaFX 2.2
      See Also:
    • consumeAutoHidingEventsProperty

      public final BooleanProperty consumeAutoHidingEventsProperty()
      Specifies whether the event, which caused the Popup to hide, should be consumed. Having the event consumed prevents it from triggering some additional UI response in the Popup's owner window.
      Default value:
      true
      Returns:
      the consumeAutoHidingEvents property
      Since:
      JavaFX 2.2
      See Also:
    • show

      public void show(Window owner)
      Show the popup.
      Parameters:
      owner - The owner of the popup. This must not be null.
      Throws:
      NullPointerException - if owner is null
      IllegalArgumentException - if the specified owner window would create cycle in the window hierarchy
    • show

      public void show(Node ownerNode, double anchorX, double anchorY)
      Shows the popup at the specified location on the screen. The popup window is positioned in such way that its anchor point (anchorLocation) is displayed at the specified anchorX and anchorY coordinates.

      The popup is associated with the specified owner node. The Window which contains the owner node at the time of the call becomes an owner window of the displayed popup.

      Note that when autoHide is set to true, mouse press on the owner Node will not hide the PopupWindow.

      Parameters:
      ownerNode - The owner Node of the popup. It must not be null and must be associated with a Window.
      anchorX - the x position of the popup anchor in screen coordinates
      anchorY - the y position of the popup anchor in screen coordinates
      Throws:
      NullPointerException - if ownerNode is null
      IllegalArgumentException - if the specified owner node is not associated with a Window or when the window would create cycle in the window hierarchy
    • show

      public void show(Window ownerWindow, double anchorX, double anchorY)
      Shows the popup at the specified location on the screen. The popup window is positioned in such way that its anchor point (anchorLocation) is displayed at the specified anchorX and anchorY coordinates.
      Parameters:
      ownerWindow - The owner of the popup. This must not be null.
      anchorX - the x position of the popup anchor in screen coordinates
      anchorY - the y position of the popup anchor in screen coordinates
      Throws:
      NullPointerException - if ownerWindow is null
      IllegalArgumentException - if the specified owner window would create cycle in the window hierarchy
    • hide

      public void hide()
      Hide this Popup and all its children
      Overrides:
      hide in class Window
    • setAnchorX

      public final void setAnchorX(double value)
      Sets the value of the anchorX property.
      Property description:
      Specifies the x coordinate of the popup anchor point on the screen. If the anchorLocation is set to WINDOW_TOP_LEFT or WINDOW_BOTTOM_LEFT the x and anchorX values will be identical.
      Parameters:
      value - the value for the anchorX property
      Since:
      JavaFX 8.0
      See Also:
    • getAnchorX

      public final double getAnchorX()
      Gets the value of the anchorX property.
      Property description:
      Specifies the x coordinate of the popup anchor point on the screen. If the anchorLocation is set to WINDOW_TOP_LEFT or WINDOW_BOTTOM_LEFT the x and anchorX values will be identical.
      Returns:
      the value of the anchorX property
      Since:
      JavaFX 8.0
      See Also:
    • anchorXProperty

      public final ReadOnlyDoubleProperty anchorXProperty()
      Specifies the x coordinate of the popup anchor point on the screen. If the anchorLocation is set to WINDOW_TOP_LEFT or WINDOW_BOTTOM_LEFT the x and anchorX values will be identical.
      Returns:
      the anchorX property
      Since:
      JavaFX 8.0
      See Also:
    • setAnchorY

      public final void setAnchorY(double value)
      Sets the value of the anchorY property.
      Property description:
      Specifies the y coordinate of the popup anchor point on the screen. If the anchorLocation is set to WINDOW_TOP_LEFT or WINDOW_TOP_RIGHT the y and anchorY values will be identical.
      Parameters:
      value - the value for the anchorY property
      Since:
      JavaFX 8.0
      See Also:
    • getAnchorY

      public final double getAnchorY()
      Gets the value of the anchorY property.
      Property description:
      Specifies the y coordinate of the popup anchor point on the screen. If the anchorLocation is set to WINDOW_TOP_LEFT or WINDOW_TOP_RIGHT the y and anchorY values will be identical.
      Returns:
      the value of the anchorY property
      Since:
      JavaFX 8.0
      See Also:
    • anchorYProperty

      public final ReadOnlyDoubleProperty anchorYProperty()
      Specifies the y coordinate of the popup anchor point on the screen. If the anchorLocation is set to WINDOW_TOP_LEFT or WINDOW_TOP_RIGHT the y and anchorY values will be identical.
      Returns:
      the anchorY property
      Since:
      JavaFX 8.0
      See Also:
    • setAnchorLocation

      public final void setAnchorLocation(PopupWindow.AnchorLocation value)
      Sets the value of the anchorLocation property.
      Property description:
      Specifies the popup anchor point which is used in popup positioning. The point can be set to a corner of the popup window or a corner of its content. In this context the content corners are derived from the popup root node's layout bounds.

      In general changing of the anchor location won't change the current window position. Instead of that, the anchorX and anchorY values are recalculated to correspond to the new anchor point.

      Parameters:
      value - the value for the anchorLocation property
      Since:
      JavaFX 8.0
      See Also:
    • getAnchorLocation

      public final PopupWindow.AnchorLocation getAnchorLocation()
      Gets the value of the anchorLocation property.
      Property description:
      Specifies the popup anchor point which is used in popup positioning. The point can be set to a corner of the popup window or a corner of its content. In this context the content corners are derived from the popup root node's layout bounds.

      In general changing of the anchor location won't change the current window position. Instead of that, the anchorX and anchorY values are recalculated to correspond to the new anchor point.

      Returns:
      the value of the anchorLocation property
      Since:
      JavaFX 8.0
      See Also:
    • anchorLocationProperty

      public final ObjectProperty<PopupWindow.AnchorLocation> anchorLocationProperty()
      Specifies the popup anchor point which is used in popup positioning. The point can be set to a corner of the popup window or a corner of its content. In this context the content corners are derived from the popup root node's layout bounds.

      In general changing of the anchor location won't change the current window position. Instead of that, the anchorX and anchorY values are recalculated to correspond to the new anchor point.

      Returns:
      the anchorLocation property
      Since:
      JavaFX 8.0
      See Also: