JavaFX Dialog相对于窗口(Canvas)位置的位置

时间:2015-08-18 12:40:22

标签: java scala javafx

我想知道是否有一种(简单)方法将JavaFX Dialog相对于另一个GUI-Component放置。

我有两台显示器,对话框始终在主显示器的中央打开。我知道Swing有一个方法setLocationRelativeTo(component)可以完全按照我的要求行事,但我找不到类似的东西。

顺便说一下。我正在使用Scala和官方的jdk。

2 个答案:

答案 0 :(得分:2)

鉴于node是活动场景图的一部分(即显示在屏幕上),

Bounds bounds = node.localToScreen(node.getBoundsInLocal());

将在屏幕坐标中给出节点的边界。然后,您可以根据需要调用getMinX()getMaxX()getWidth()getMinY()getMaxY()getHeight()来定位对话框。< / p>

答案 1 :(得分:1)

以窗口为中心很容易,以节点为中心而不是那么多。以下适用于非等待对话框。如果设置,对话框将以其所有者为中心。

dialog.initOwner((Window)owner)