Module  javafx.graphics
软件包  javafx.stage

Class PopupWindow

  • All Implemented Interfaces:
    EventTarget
    已知直接子类:
    PopupPopupControl


    public abstract class PopupWindow
    extends Window
    PopupWindow是各种不同类型的基于弹出窗口的窗口的父级,包括PopupTooltipContextMenu

    PopupWindow是没有窗口装饰或标题栏的辅助窗口。 它不会在操作系统中显示为顶级窗口。 它通常用于工具提示,如通知,下拉框,菜单等。

    如果没有所有者,则无法显示 PopupWindow。 PopupWindows要求存在所有者窗口才能显示。 但是,可以提前创建一个PopupWindow,并且在首次显示之前只需设置所有者(或更改所有者)即可。 当PopupWindow可见时,尝试更改所有者将导致IllegalStateException。

    PopupWindow封装了弹出窗口常用的大部分行为和功能,例如按下“esc”键时关闭的能力,或者隐藏所有窗口时隐藏所有子弹出窗口的功能。 这些功能可以通过属性启用或禁用。

    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • PopupWindow

        public PopupWindow​()
    • 方法详细信息

      • getOwnerWindow

        public final Window getOwnerWindow​()
        获取属性ownerWindow的值。
        Property description:
        作为此弹出窗口的父窗口。 所有弹出窗口必须有一个所有者窗口。
      • getOwnerNode

        public final Node getOwnerNode​()
        获取属性ownerNode的值。
        Property description:
        该弹出窗口的所有者的节点。 所有弹出窗口必须具有所有者窗口,但不需要与所有者节点相关联。 如果自动隐藏弹出窗口具有所有者节点,则所有者节点内的鼠标按键不会导致弹出窗口隐藏。
      • ownerNodeProperty

        public final ReadOnlyObjectProperty<Node> ownerNodeProperty​()
        该弹出窗口的所有者的节点。 所有弹出窗口必须具有所有者窗口,但不需要与所有者节点相关联。 如果自动隐藏弹出窗口具有所有者节点,则所有者节点内的鼠标按键不会导致弹出窗口隐藏。
        另请参见:
        getOwnerNode()
      • setScene

        protected final void setScene​(Scene scene)
        注意子类:PopupWindow使用的场景是非常具体由PopupWindow管理的。 该方法被覆盖以抛出UnsupportedOperationException。 您不能指定自己的场景。
        重写:
        setSceneWindow
        参数
        scene - 要在此窗口中呈现的场景
      • setAutoFix

        public final void setAutoFix​(boolean value)
        设置属性autoFix的值。
        Property description:
        这个便利变量指示当显示弹出窗口时,是否应自动更正其位置,使其不会最终定位在屏幕外。
        Default value:
        真正
      • isAutoFix

        public final boolean isAutoFix​()
        获取属性autoFix的值。
        Property description:
        这个便利变量指示当显示弹出窗口时,是否应自动更正其位置,使其不会最终定位在屏幕外。
        Default value:
        真正
      • autoFixProperty

        public final BooleanProperty autoFixProperty​()
        这个便利变量指示当显示弹出窗口时,是否应自动更正其位置,使其不会最终定位在屏幕外。
        Default value:
        真正
        另请参见:
        isAutoFix()setAutoFix(boolean)
      • setAutoHide

        public final void setAutoHide​(boolean value)
        设置属性autoHide的值。
        Property description:
        指定弹出窗口是否应该自动隐藏。 如果弹出窗口失去焦点,并且autoHide为true,则弹出窗口将被自动隐藏。

        唯一的例外是使用show(javafx.scene.Node, double, double)指定了所有者节点。 聚焦所有者Node不会隐藏PopupWindow。

        Default value:
      • isAutoHide

        public final boolean isAutoHide​()
        获取属性autoHide的值。
        Property description:
        指定弹出窗口是否应该自动隐藏。 如果弹出窗口失去焦点,并且autoHide为true,则弹出窗口将被自动隐藏。

        唯一的例外是使用show(javafx.scene.Node, double, double)指定了所有者节点。 聚焦所有者Node不会隐藏PopupWindow。

        Default value:
      • setOnAutoHide

        public final void setOnAutoHide​(EventHandler<Event> value)
        设置属性onAtotoHide的值。
        Property description:
        autoHide运行后调用。
      • getOnAutoHide

        public final EventHandler<Event> getOnAutoHide​()
        获取属性onAutoHide的值。
        Property description:
        autoHide运行后调用。
      • setHideOnEscape

        public final void setHideOnEscape​(boolean value)
        设置属性hideOnEscape的值。
        Property description:
        指定在弹出对焦时按下未处理的转义键时是否应该隐藏PopupWindow。
        Default value:
        真正
      • isHideOnEscape

        public final boolean isHideOnEscape​()
        获取属性hideOnEscape的值。
        Property description:
        指定在弹出对焦时按下未处理的转义键时是否应该隐藏PopupWindow。
        Default value:
        真正
      • setConsumeAutoHidingEvents

        public final void setConsumeAutoHidingEvents​(boolean value)
        设置属性consumeAutoHidingEvents的值。
        Property description:
        指定是否应该使用引起Popup隐藏的事件。 使用该事件阻止它在弹出窗口的所有者窗口中触发一些额外的UI响应。
        Default value:
        真正
        从以下版本开始:
        JavaFX 2.2
      • getConsumeAutoHidingEvents

        public final boolean getConsumeAutoHidingEvents​()
        获取属性consumeAutoHidingEvents的值。
        Property description:
        指定是否应该使用引起Popup隐藏的事件。 使用该事件阻止它在弹出窗口的所有者窗口中触发一些额外的UI响应。
        Default value:
        真正
        从以下版本开始:
        JavaFX 2.2
      • consumeAutoHidingEventsProperty

        public final BooleanProperty consumeAutoHidingEventsProperty​()
        指定是否应该使用引起Popup隐藏的事件。 使用该事件阻止它在弹出窗口的所有者窗口中触发一些额外的UI响应。
        Default value:
        真正
        从以下版本开始:
        JavaFX 2.2
        另请参见:
        getConsumeAutoHidingEvents()setConsumeAutoHidingEvents(boolean)
      • show

        public void show​(Window owner)
        显示弹出窗口。
        参数
        owner - 弹出窗口的所有者。 这不能为空。
        异常
        NullPointerException - 如果owner为null
        IllegalArgumentException - 如果指定的所有者窗口将在窗口层次结构中创建循环
      • show

        public void show​(Node ownerNode,
                         double anchorX,
                         double anchorY)
        显示屏幕上指定位置的弹出窗口。 弹出窗口被定位成使得其锚点( anchorLocation )以指定的anchorXanchorY坐标显示。

        弹出窗口与指定的所有者节点相关联。 包含呼叫时所有者节点的Window成为显示弹出窗口的所有者窗口。

        请注意,当autoHideProperty()设置为true时,鼠标按下所有者节点将不会隐藏PopupWindow。

        参数
        ownerNode - 弹出窗口的所有者节点。 它不能为空,必须与窗口相关联。
        anchorX - 弹出式锚点在屏幕坐标中的x位置
        anchorY - 弹出式锚点在屏幕坐标中的y位置
        异常
        NullPointerException - 如果ownerNode为null
        IllegalArgumentException - 如果指定的所有者节点不与窗口相关联,或者窗口将在窗口层次结构中创建循环
      • show

        public void show​(Window ownerWindow,
                         double anchorX,
                         double anchorY)
        显示屏幕上指定位置的弹出窗口。 弹出窗口的定位方式使其锚点( anchorLocation )以指定的anchorXanchorY坐标显示。
        参数
        ownerWindow - 弹出窗口的所有者。 这不能为空。
        anchorX - 弹出锚点在屏幕坐标中的x位置
        anchorY - 弹出锚点在屏幕坐标中的y位置
        异常
        NullPointerException - 如果ownerWindow为空
        IllegalArgumentException - 如果指定的所有者窗口将在窗口层次结构中创建循环
      • hide

        public void hide​()
        隐藏此弹出窗口及其所有子项
        重写:
        hideWindow
      • setAnchorX

        public final void setAnchorX​(double value)
        设置属性anchorX的值。
        Property description:
        指定屏幕上弹出锚点的x坐标。 如果anchorLocation设置为WINDOW_TOP_LEFTWINDOW_BOTTOM_LEFTxanchorX值将相同。
        从以下版本开始:
        JavaFX 8.0
      • getAnchorX

        public final double getAnchorX​()
        获取属性anchorX的值。
        Property description:
        指定屏幕上弹出锚点的x坐标。 如果anchorLocation设置为WINDOW_TOP_LEFTWINDOW_BOTTOM_LEFTxanchorX值将相同。
        从以下版本开始:
        JavaFX 8.0
      • anchorXProperty

        public final ReadOnlyDoubleProperty anchorXProperty​()
        指定屏幕上弹出锚点的x坐标。 如果anchorLocation设置为WINDOW_TOP_LEFTWINDOW_BOTTOM_LEFTxanchorX值将相同。
        从以下版本开始:
        JavaFX 8.0
        另请参见:
        getAnchorX()setAnchorX(double)
      • setAnchorY

        public final void setAnchorY​(double value)
        设置属性anchorY的值。
        Property description:
        指定屏幕上弹出锚点的y坐标。 如果anchorLocation设置为WINDOW_TOP_LEFTWINDOW_TOP_RIGHTyanchorY值将相同。
        从以下版本开始:
        JavaFX 8.0
      • getAnchorY

        public final double getAnchorY​()
        获取属性anchorY的值。
        Property description:
        指定屏幕上弹出锚点的y坐标。 如果anchorLocation设置为WINDOW_TOP_LEFTWINDOW_TOP_RIGHTyanchorY值将相同。
        从以下版本开始:
        JavaFX 8.0
      • anchorYProperty

        public final ReadOnlyDoubleProperty anchorYProperty​()
        指定屏幕上弹出锚点的y坐标。 如果anchorLocation设置为WINDOW_TOP_LEFTWINDOW_TOP_RIGHTyanchorY值将相同。
        从以下版本开始:
        JavaFX 8.0
        另请参见:
        getAnchorY()setAnchorY(double)
      • setAnchorLocation

        public final void setAnchorLocation​(PopupWindow.AnchorLocation value)
        设置属性anchorLocation的值。
        Property description:
        指定弹出式定位中使用的弹出式锚点。 该点可以设置为弹出窗口的一角或其内容的一角。 在这种情况下,内容角是从弹出根节点的布局边界导出的。

        一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样, anchorXanchorY值被重新计算以对应于新的锚点。

        从以下版本开始:
        JavaFX 8.0
      • getAnchorLocation

        public final PopupWindow.AnchorLocation getAnchorLocation​()
        获取属性anchorLocation的值。
        Property description:
        指定弹出式定位中使用的弹出式锚点。 该点可以设置为弹出窗口的一角或其内容的一角。 在这种情况下,内容角是从弹出根节点的布局边界导出的。

        一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样, anchorXanchorY值被重新计算以对应于新的锚点。

        从以下版本开始:
        JavaFX 8.0
      • anchorLocationProperty

        public final ObjectProperty<PopupWindow.AnchorLocation> anchorLocationProperty​()
        指定弹出式定位中使用的弹出式锚点。 该点可以设置为弹出窗口的一角或其内容的一角。 在这种情况下,内容角是从弹出根节点的布局边界导出的。

        一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样, anchorXanchorY值被重新计算以对应于新的锚点。

        从以下版本开始:
        JavaFX 8.0
        另请参见:
        getAnchorLocation()setAnchorLocation(PopupWindow.AnchorLocation)