# 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

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `PopupWindow.AnchorLocation`
  Anchor location constants for popup anchor point selection.

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final ObjectProperty<PopupWindow.AnchorLocation>`
  `anchorLocation`
  Specifies the popup anchor point which is used in popup positioning.
  `final ReadOnlyDoubleProperty`
  `anchorX`
  Specifies the x coordinate of the popup anchor point on the screen.
  `final ReadOnlyDoubleProperty`
  `anchorY`
  Specifies the y coordinate of the popup anchor point on the screen.
  `final BooleanProperty`
  `autoFix`
  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.
  `final BooleanProperty`
  `autoHide`
  Specifies whether Popups should auto hide.
  `final BooleanProperty`
  `consumeAutoHidingEvents`
  Specifies whether the event, which caused the Popup to hide, should be consumed.
  `final BooleanProperty`
  `hideOnEscape`
  Specifies whether the PopupWindow should be hidden when an unhandled escape key is pressed while the popup has focus.
  `final ObjectProperty<EventHandler<Event>>`
  `onAutoHide`
  Called after autoHide is run.
  `final ReadOnlyObjectProperty<Node>`
  `ownerNode`
  The node which is the owner of this popup.
  `final ReadOnlyObjectProperty<Window>`
  `ownerWindow`
  The window which is the parent of this popup.

  ### Properties declared in class Window

  `eventDispatcher, focused, forceIntegerRenderScale, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, opacity, outputScaleX, outputScaleY, renderScaleX, renderScaleY, scene, showing, width, x, y`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PopupWindow()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final ObjectProperty<PopupWindow.AnchorLocation>`
  `anchorLocationProperty()`
  Specifies the popup anchor point which is used in popup positioning.
  `final ReadOnlyDoubleProperty`
  `anchorXProperty()`
  Specifies the x coordinate of the popup anchor point on the screen.
  `final ReadOnlyDoubleProperty`
  `anchorYProperty()`
  Specifies the y coordinate of the popup anchor point on the screen.
  `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.
  `final BooleanProperty`
  `autoHideProperty()`
  Specifies whether Popups should auto hide.
  `final BooleanProperty`
  `consumeAutoHidingEventsProperty()`
  Specifies whether the event, which caused the Popup to hide, should be consumed.
  `final PopupWindow.AnchorLocation`
  `getAnchorLocation()`
  Gets the value of the `anchorLocation` property.
  `final double`
  `getAnchorX()`
  Gets the value of the `anchorX` property.
  `final double`
  `getAnchorY()`
  Gets the value of the `anchorY` property.
  `final boolean`
  `getConsumeAutoHidingEvents()`
  Gets the value of the `consumeAutoHidingEvents` property.
  `final EventHandler<Event>`
  `getOnAutoHide()`
  Gets the value of the `onAutoHide` property.
  `final Node`
  `getOwnerNode()`
  Gets the value of the `ownerNode` property.
  `final Window`
  `getOwnerWindow()`
  Gets the value of the `ownerWindow` property.
  `void`
  `hide()`
  Hide this Popup and all its children
  `final BooleanProperty`
  `hideOnEscapeProperty()`
  Specifies whether the PopupWindow should be hidden when an unhandled escape key is pressed while the popup has focus.
  `final boolean`
  `isAutoFix()`
  Gets the value of the `autoFix` property.
  `final boolean`
  `isAutoHide()`
  Gets the value of the `autoHide` property.
  `final boolean`
  `isHideOnEscape()`
  Gets the value of the `hideOnEscape` property.
  `final ObjectProperty<EventHandler<Event>>`
  `onAutoHideProperty()`
  Called after autoHide is run.
  `final ReadOnlyObjectProperty<Node>`
  `ownerNodeProperty()`
  The node which is the owner of this popup.
  `final ReadOnlyObjectProperty<Window>`
  `ownerWindowProperty()`
  The window which is the parent of this popup.
  `final void`
  `setAnchorLocation(PopupWindow.AnchorLocation value)`
  Sets the value of the `anchorLocation` property.
  `final void`
  `setAnchorX(double value)`
  Sets the value of the `anchorX` property.
  `final void`
  `setAnchorY(double value)`
  Sets the value of the `anchorY` property.
  `final void`
  `setAutoFix(boolean value)`
  Sets the value of the `autoFix` property.
  `final void`
  `setAutoHide(boolean value)`
  Sets the value of the `autoHide` property.
  `final void`
  `setConsumeAutoHidingEvents(boolean value)`
  Sets the value of the `consumeAutoHidingEvents` property.
  `final void`
  `setHideOnEscape(boolean value)`
  Sets the value of the `hideOnEscape` property.
  `final void`
  `setOnAutoHide(EventHandler<Event> value)`
  Sets the value of the `onAutoHide` property.
  `protected final void`
  `setScene(Scene scene)`
  Note to subclasses: the scene used by PopupWindow is very specifically managed by PopupWindow.
  `void`
  `show(Node ownerNode, double anchorX, double anchorY)`
  Shows the popup at the specified location on the screen.
  `void`
  `show(Window owner)`
  Show the popup.
  `void`
  `show(Window ownerWindow, double anchorX, double anchorY)`
  Shows the popup at the specified location on the screen.

  ### Methods declared in class Window

  `addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, forceIntegerRenderScaleProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getOutputScaleX, getOutputScaleY, getProperties, getRenderScaleX, getRenderScaleY, getScene, getUserData, getWidth, getWindows, getX, getY, hasProperties, heightProperty, isFocused, isForceIntegerRenderScale, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, outputScaleXProperty, outputScaleYProperty, removeEventFilter, removeEventHandler, renderScaleXProperty, renderScaleYProperty, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setForceIntegerRenderScale, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setRenderScaleX, setRenderScaleY, setUserData, setWidth, setX, setY, show, showingProperty, sizeToScene, widthProperty, xProperty, yProperty`

  ### Methods declared in class Object

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

- ## Property Details

  - ### ownerWindow

    public final ReadOnlyObjectProperty<Window> ownerWindowProperty
    The window which is the parent of this popup. All popups must have an owner window.
    See Also:
      - `getOwnerWindow()`
      - `ownerWindowProperty()`

  - ### ownerNode

    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.
    See Also:
      - `getOwnerNode()`
      - `ownerNodeProperty()`

  - ### autoFix

    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
    See Also:
      - `isAutoFix()`
      - `setAutoFix(boolean)`
      - `autoFixProperty()`

  - ### autoHide

    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
    See Also:
      - `isAutoHide()`
      - `setAutoHide(boolean)`
      - `autoHideProperty()`

  - ### onAutoHide

    public final ObjectProperty<EventHandler<Event>> onAutoHideProperty
    Called after autoHide is run.
    See Also:
      - `getOnAutoHide()`
      - `setOnAutoHide(EventHandler)`
      - `onAutoHideProperty()`

  - ### hideOnEscape

    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
    See Also:
      - `isHideOnEscape()`
      - `setHideOnEscape(boolean)`
      - `hideOnEscapeProperty()`

  - ### consumeAutoHidingEvents

    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
    Since:
      JavaFX 2.2
    See Also:
      - `getConsumeAutoHidingEvents()`
      - `setConsumeAutoHidingEvents(boolean)`
      - `consumeAutoHidingEventsProperty()`

  - ### anchorX

    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.
    Since:
      JavaFX 8.0
    See Also:
      - `getAnchorX()`
      - `setAnchorX(double)`
      - `anchorXProperty()`

  - ### anchorY

    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.
    Since:
      JavaFX 8.0
    See Also:
      - `getAnchorY()`
      - `setAnchorY(double)`
      - `anchorYProperty()`

  - ### anchorLocation

    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.

    Since:
      JavaFX 8.0
    See Also:
      - `getAnchorLocation()`
      - `setAnchorLocation(PopupWindow.AnchorLocation)`
      - `anchorLocationProperty()`

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

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

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

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

  - ### 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:
      - `Window.getScene()`
      - `Window.sceneProperty()`

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

  - ### 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:
      - `setAutoFix(boolean)`
      - `autoFixProperty()`

  - ### 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:
      - `isAutoFix()`
      - `setAutoFix(boolean)`

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

  - ### 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:
      - `setAutoHide(boolean)`
      - `autoHideProperty()`

  - ### 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:
      - `isAutoHide()`
      - `setAutoHide(boolean)`

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

  - ### 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:
      - `setOnAutoHide(EventHandler)`
      - `onAutoHideProperty()`

  - ### onAutoHideProperty

    public final ObjectProperty<EventHandler<Event>> onAutoHideProperty()
    Called after autoHide is run.
    Returns:
      the `onAutoHide` property
    See Also:
      - `getOnAutoHide()`
      - `setOnAutoHide(EventHandler)`

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

  - ### 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:
      - `setHideOnEscape(boolean)`
      - `hideOnEscapeProperty()`

  - ### 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:
      - `isHideOnEscape()`
      - `setHideOnEscape(boolean)`

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

  - ### 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:
      - `setConsumeAutoHidingEvents(boolean)`
      - `consumeAutoHidingEventsProperty()`

  - ### 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:
      - `getConsumeAutoHidingEvents()`
      - `setConsumeAutoHidingEvents(boolean)`

  - ### 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
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

  - ### 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
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

  - ### 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
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

  - ### hide

    public void hide()
    Hide this Popup and all its children
    Overrides:
      `hide` in class `Window`
    Throws:
      `IllegalStateException` - if this method is called on a thread other than the JavaFX Application Thread.

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

  - ### 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:
      - `setAnchorX(double)`
      - `anchorXProperty()`

  - ### 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:
      - `getAnchorX()`
      - `setAnchorX(double)`

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

  - ### 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:
      - `setAnchorY(double)`
      - `anchorYProperty()`

  - ### 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:
      - `getAnchorY()`
      - `setAnchorY(double)`

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

  - ### 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:
      - `setAnchorLocation(PopupWindow.AnchorLocation)`
      - `anchorLocationProperty()`

  - ### 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:
      - `getAnchorLocation()`
      - `setAnchorLocation(PopupWindow.AnchorLocation)`