- java.lang.Object
-
- javafx.stage.Window
-
- javafx.stage.PopupWindow
-
- All Implemented Interfaces:
-
EventTarget
- 已知直接子类:
-
Popup
,PopupControl
public abstract class PopupWindow extends Window
PopupWindow是各种不同类型的基于弹出窗口的窗口的父级,包括Popup
和Tooltip
和ContextMenu
。PopupWindow是没有窗口装饰或标题栏的辅助窗口。 它不会在操作系统中显示为顶级窗口。 它通常用于工具提示,如通知,下拉框,菜单等。
如果没有所有者,则无法显示 PopupWindow。 PopupWindows要求存在所有者窗口才能显示。 但是,可以提前创建一个PopupWindow,并且在首次显示之前只需设置所有者(或更改所有者)即可。 当PopupWindow可见时,尝试更改所有者将导致IllegalStateException。
PopupWindow封装了弹出窗口常用的大部分行为和功能,例如按下“esc”键时关闭的能力,或者隐藏所有窗口时隐藏所有子弹出窗口的功能。 这些功能可以通过属性启用或禁用。
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<PopupWindow.AnchorLocation>
anchorLocation
指定弹出式定位中使用的弹出式锚点。ReadOnlyDoubleProperty
anchorX
指定屏幕上弹出锚点的x坐标。ReadOnlyDoubleProperty
anchorY
指定屏幕上弹出锚点的y坐标。BooleanProperty
autoFix
这个便利变量指示当显示弹出窗口时,是否应自动更正其位置,使其不会最终定位在屏幕外。BooleanProperty
autoHide
指定弹出窗口是否应该自动隐藏。BooleanProperty
consumeAutoHidingEvents
指定是否应该使用引起Popup隐藏的事件。BooleanProperty
hideOnEscape
指定在弹出对焦时按下未处理的转义键时是否应该隐藏PopupWindow。ObjectProperty<EventHandler<Event>>
onAutoHide
autoHide运行后调用。ReadOnlyObjectProperty<Node>
ownerNode
该弹出窗口的所有者的节点。ReadOnlyObjectProperty<Window>
ownerWindow
作为此弹出窗口的父窗口。-
Properties inherited from class javafx.stage.Window
eventDispatcher, focused, forceIntegerRenderScale, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, opacity, outputScaleX, outputScaleY, renderScaleX, renderScaleY, scene, showing, width, x, y
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
PopupWindow.AnchorLocation
锚定点选择的锚位置常数。
-
构造方法摘要
构造方法 Constructor 描述 PopupWindow()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ObjectProperty<PopupWindow.AnchorLocation>
anchorLocationProperty()
指定弹出式定位中使用的弹出式锚点。ReadOnlyDoubleProperty
anchorXProperty()
指定屏幕上弹出锚点的x坐标。ReadOnlyDoubleProperty
anchorYProperty()
指定屏幕上弹出锚点的y坐标。BooleanProperty
autoFixProperty()
这个便利变量指示当显示弹出窗口时,是否应自动更正其位置,使其不会最终定位在屏幕外。BooleanProperty
autoHideProperty()
指定弹出窗口是否应该自动隐藏。BooleanProperty
consumeAutoHidingEventsProperty()
指定是否应该使用引起Popup隐藏的事件。PopupWindow.AnchorLocation
getAnchorLocation()
获取属性anchorLocation的值。double
getAnchorX()
获取属性anchorX的值。double
getAnchorY()
获取属性anchorY的值。boolean
getConsumeAutoHidingEvents()
获取属性consumeAutoHidingEvents的值。EventHandler<Event>
getOnAutoHide()
获取属性onAutoHide的值。Node
getOwnerNode()
获取属性ownerNode的值。Window
getOwnerWindow()
获取属性ownerWindow的值。void
hide()
隐藏此弹出窗口及其所有子项BooleanProperty
hideOnEscapeProperty()
指定在弹出对焦时按下未处理的转义键时是否应该隐藏PopupWindow。boolean
isAutoFix()
获取属性autoFix的值。boolean
isAutoHide()
获取属性autoHide的值。boolean
isHideOnEscape()
获取属性hideOnEscape的值。ObjectProperty<EventHandler<Event>>
onAutoHideProperty()
autoHide运行后调用。ReadOnlyObjectProperty<Node>
ownerNodeProperty()
该弹出窗口的所有者的节点。ReadOnlyObjectProperty<Window>
ownerWindowProperty()
作为此弹出窗口的父窗口。void
setAnchorLocation(PopupWindow.AnchorLocation value)
设置属性anchorLocation的值。void
setAnchorX(double value)
设置属性anchorX的值。void
setAnchorY(double value)
设置属性anchorY的值。void
setAutoFix(boolean value)
设置属性autoFix的值。void
setAutoHide(boolean value)
设置属性autoHide的值。void
setConsumeAutoHidingEvents(boolean value)
设置属性consumeAutoHidingEvents的值。void
setHideOnEscape(boolean value)
设置属性hideOnEscape的值。void
setOnAutoHide(EventHandler<Event> value)
设置属性onAtotoHide的值。protected void
setScene(Scene scene)
注意子类:PopupWindow使用的场景是非常具体由PopupWindow管理的。void
show(Node ownerNode, double anchorX, double anchorY)
显示屏幕上指定位置的弹出窗口。void
show(Window owner)
显示弹出窗口。void
show(Window ownerWindow, double anchorX, double anchorY)
显示屏幕上指定位置的弹出窗口。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class javafx.stage.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
-
-
-
-
Property Detail
-
ownerWindow
public final ReadOnlyObjectProperty<Window> ownerWindowProperty
作为此弹出窗口的父窗口。 所有弹出窗口必须有一个所有者窗口。- 另请参见:
-
getOwnerWindow()
-
ownerNode
public final ReadOnlyObjectProperty<Node> ownerNodeProperty
该弹出窗口的所有者的节点。 所有弹出窗口必须具有所有者窗口,但不需要与所有者节点相关联。 如果自动隐藏弹出窗口具有所有者节点,则所有者节点内的鼠标按键不会导致弹出窗口隐藏。- 另请参见:
-
getOwnerNode()
-
autoFix
public final BooleanProperty autoFixProperty
这个便利变量指示当显示弹出窗口时,是否应自动更正其位置,使其不会最终定位在屏幕外。- Default value:
- 真正
- 另请参见:
-
isAutoFix()
,setAutoFix(boolean)
-
autoHide
public final BooleanProperty autoHideProperty
指定弹出窗口是否应该自动隐藏。 如果弹出窗口失去焦点,并且autoHide为true,则弹出窗口将被自动隐藏。唯一的例外是使用
show(javafx.scene.Node, double, double)
指定了所有者节点。 聚焦所有者Node不会隐藏PopupWindow。- Default value:
- 假
- 另请参见:
-
isAutoHide()
,setAutoHide(boolean)
-
onAutoHide
public final ObjectProperty<EventHandler<Event>> onAutoHideProperty
autoHide运行后调用。
-
hideOnEscape
public final BooleanProperty hideOnEscapeProperty
指定在弹出对焦时按下未处理的转义键时是否应该隐藏PopupWindow。- Default value:
- 真正
- 另请参见:
-
isHideOnEscape()
,setHideOnEscape(boolean)
-
consumeAutoHidingEvents
public final BooleanProperty consumeAutoHidingEventsProperty
指定是否应该使用引起Popup隐藏的事件。 使用该事件阻止它在弹出窗口的所有者窗口中触发一些额外的UI响应。- Default value:
- 真正
- 从以下版本开始:
- JavaFX 2.2
- 另请参见:
-
getConsumeAutoHidingEvents()
,setConsumeAutoHidingEvents(boolean)
-
anchorX
public final ReadOnlyDoubleProperty anchorXProperty
指定屏幕上弹出锚点的x坐标。 如果anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_BOTTOM_LEFT
则x
和anchorX
值将相同。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getAnchorX()
,setAnchorX(double)
-
anchorY
public final ReadOnlyDoubleProperty anchorYProperty
指定屏幕上弹出锚点的y坐标。 如果anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_TOP_RIGHT
则y
和anchorY
值将相同。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getAnchorY()
,setAnchorY(double)
-
anchorLocation
public final ObjectProperty<PopupWindow.AnchorLocation> anchorLocationProperty
指定弹出式定位中使用的弹出式锚点。 该点可以设置为弹出窗口的一角或其内容的一角。 在这种情况下,内容角是从弹出根节点的布局边界导出的。一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样,
anchorX
和anchorY
值被重新计算以对应于新的锚点。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getAnchorLocation()
,setAnchorLocation(PopupWindow.AnchorLocation)
-
-
方法详细信息
-
getOwnerWindow
public final Window getOwnerWindow()
获取属性ownerWindow的值。- Property description:
- 作为此弹出窗口的父窗口。 所有弹出窗口必须有一个所有者窗口。
-
ownerWindowProperty
public final ReadOnlyObjectProperty<Window> ownerWindowProperty()
作为此弹出窗口的父窗口。 所有弹出窗口必须有一个所有者窗口。- 另请参见:
-
getOwnerWindow()
-
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。 您不能指定自己的场景。
-
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:
- 假
-
autoHideProperty
public final BooleanProperty autoHideProperty()
指定弹出窗口是否应该自动隐藏。 如果弹出窗口失去焦点,并且autoHide为true,则弹出窗口将被自动隐藏。唯一的例外是使用
show(javafx.scene.Node, double, double)
指定了所有者节点。 聚焦所有者Node不会隐藏PopupWindow。- Default value:
- 假
- 另请参见:
-
isAutoHide()
,setAutoHide(boolean)
-
setOnAutoHide
public final void setOnAutoHide(EventHandler<Event> value)
设置属性onAtotoHide的值。- Property description:
- autoHide运行后调用。
-
getOnAutoHide
public final EventHandler<Event> getOnAutoHide()
获取属性onAutoHide的值。- Property description:
- autoHide运行后调用。
-
onAutoHideProperty
public final ObjectProperty<EventHandler<Event>> onAutoHideProperty()
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:
- 真正
-
hideOnEscapeProperty
public final BooleanProperty hideOnEscapeProperty()
指定在弹出对焦时按下未处理的转义键时是否应该隐藏PopupWindow。- Default value:
- 真正
- 另请参见:
-
isHideOnEscape()
,setHideOnEscape(boolean)
-
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
)以指定的anchorX
和anchorY
坐标显示。弹出窗口与指定的所有者节点相关联。 包含呼叫时所有者节点的
Window
成为显示弹出窗口的所有者窗口。请注意,当
autoHideProperty()
设置为true时,鼠标按下所有者节点将不会隐藏PopupWindow。- 参数
-
ownerNode
- 弹出窗口的所有者节点。 它不能为空,必须与窗口相关联。 -
anchorX
- 弹出式锚点在屏幕坐标中的x位置 -
anchorY
- 弹出式锚点在屏幕坐标中的y位置 - 异常
-
NullPointerException
- 如果ownerNode为null -
IllegalArgumentException
- 如果指定的所有者节点不与窗口相关联,或者窗口将在窗口层次结构中创建循环
-
show
public void show(Window ownerWindow, double anchorX, double anchorY)
显示屏幕上指定位置的弹出窗口。 弹出窗口的定位方式使其锚点(anchorLocation
)以指定的anchorX
和anchorY
坐标显示。- 参数
-
ownerWindow
- 弹出窗口的所有者。 这不能为空。 -
anchorX
- 弹出锚点在屏幕坐标中的x位置 -
anchorY
- 弹出锚点在屏幕坐标中的y位置 - 异常
-
NullPointerException
- 如果ownerWindow为空 -
IllegalArgumentException
- 如果指定的所有者窗口将在窗口层次结构中创建循环
-
setAnchorX
public final void setAnchorX(double value)
设置属性anchorX的值。- Property description:
-
指定屏幕上弹出锚点的x坐标。
如果
anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_BOTTOM_LEFT
则x
和anchorX
值将相同。 - 从以下版本开始:
- JavaFX 8.0
-
getAnchorX
public final double getAnchorX()
获取属性anchorX的值。- Property description:
-
指定屏幕上弹出锚点的x坐标。
如果
anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_BOTTOM_LEFT
则x
和anchorX
值将相同。 - 从以下版本开始:
- JavaFX 8.0
-
anchorXProperty
public final ReadOnlyDoubleProperty anchorXProperty()
指定屏幕上弹出锚点的x坐标。 如果anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_BOTTOM_LEFT
则x
和anchorX
值将相同。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getAnchorX()
,setAnchorX(double)
-
setAnchorY
public final void setAnchorY(double value)
设置属性anchorY的值。- Property description:
-
指定屏幕上弹出锚点的y坐标。
如果
anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_TOP_RIGHT
则y
和anchorY
值将相同。 - 从以下版本开始:
- JavaFX 8.0
-
getAnchorY
public final double getAnchorY()
获取属性anchorY的值。- Property description:
-
指定屏幕上弹出锚点的y坐标。
如果
anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_TOP_RIGHT
则y
和anchorY
值将相同。 - 从以下版本开始:
- JavaFX 8.0
-
anchorYProperty
public final ReadOnlyDoubleProperty anchorYProperty()
指定屏幕上弹出锚点的y坐标。 如果anchorLocation
设置为WINDOW_TOP_LEFT
或WINDOW_TOP_RIGHT
则y
和anchorY
值将相同。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getAnchorY()
,setAnchorY(double)
-
setAnchorLocation
public final void setAnchorLocation(PopupWindow.AnchorLocation value)
设置属性anchorLocation的值。- Property description:
-
指定弹出式定位中使用的弹出式锚点。
该点可以设置为弹出窗口的一角或其内容的一角。
在这种情况下,内容角是从弹出根节点的布局边界导出的。
一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样,
anchorX
和anchorY
值被重新计算以对应于新的锚点。 - 从以下版本开始:
- JavaFX 8.0
-
getAnchorLocation
public final PopupWindow.AnchorLocation getAnchorLocation()
获取属性anchorLocation的值。- Property description:
-
指定弹出式定位中使用的弹出式锚点。
该点可以设置为弹出窗口的一角或其内容的一角。
在这种情况下,内容角是从弹出根节点的布局边界导出的。
一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样,
anchorX
和anchorY
值被重新计算以对应于新的锚点。 - 从以下版本开始:
- JavaFX 8.0
-
anchorLocationProperty
public final ObjectProperty<PopupWindow.AnchorLocation> anchorLocationProperty()
指定弹出式定位中使用的弹出式锚点。 该点可以设置为弹出窗口的一角或其内容的一角。 在这种情况下,内容角是从弹出根节点的布局边界导出的。一般来说,锚定位置的更改不会改变当前的窗口位置。 而不是这样,
anchorX
和anchorY
值被重新计算以对应于新的锚点。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getAnchorLocation()
,setAnchorLocation(PopupWindow.AnchorLocation)
-
-