获取节点在JavaFX中的真实位置

在JavaFX中获取节点绝对位置的最佳方法是什么?

假设我们在窗格(Hbox,Stackpane或任何其他窗格)中有一个节点,并且它本身可能有一个父节点。

我想获取该节点的绝对位置,并在另一个窗格中使用它。

回答:

这取决于您所说的“绝对”的含义。节点有一个坐标系,父节点有一个坐标系,父节点有一个坐标系,依此类推,最终有一个坐标系Scene和一个屏幕坐标系(可能是物理显示设备的集合)。

您可能想要相对于的坐标Scene,在这种情况下,您可以

Bounds boundsInScene = node.localToScene(node.getBoundsInLocal());

或相对于屏幕的坐标:

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

在任一种情况下,所得Bounds物体具有getMinX()getMinY()getMaxX()getMaxY()getWidth()getHeight()方法。

以上是 获取节点在JavaFX中的真实位置 的全部内容, 来源链接: utcz.com/qa/409202.html

回到顶部