我想知道是否有一种(简单)方法将JavaFX Dialog相对于另一个GUI-Component放置。
我有两台显示器,对话框始终在主显示器的中央打开。我知道Swing有一个方法setLocationRelativeTo(component)
可以完全按照我的要求行事,但我找不到类似的东西。
顺便说一下。我正在使用Scala和官方的jdk。
答案 0 :(得分:2)
鉴于node
是活动场景图的一部分(即显示在屏幕上),
Bounds bounds = node.localToScreen(node.getBoundsInLocal());
将在屏幕坐标中给出节点的边界。然后,您可以根据需要调用getMinX()
,getMaxX()
,getWidth()
,getMinY()
,getMaxY()
和getHeight()
来定位对话框。< / p>
答案 1 :(得分:1)
以窗口为中心很容易,以节点为中心而不是那么多。以下适用于非等待对话框。如果设置,对话框将以其所有者为中心。
dialog.initOwner((Window)owner)