gpt4 book ai didi

javafx - 在JavaFX中获取节点的全局坐标

转载 作者:行者123 更新时间:2023-12-04 03:10:11 25 4
gpt4 key购买 nike

如何获得场景中节点的实际位置。绝对位置,与任何容器/转换无关。

例如,我要转换某个节点a,使其与另一个节点b暂时重叠。因此,我希望将他的translateX属性设置为b.globalX-a.globalX

该文档说:

Defines the X coordinate of the translation that is added to the transformed coordinates of this Node for the purpose of layout. Containers or Groups performing layout will set this variable relative to layoutBounds.minX in order to position the node at the desired layout location.

For example, if child should have a final location of finalX:


 child.layoutX = finalX - child.layoutBounds.minX;

也就是说,任何节点的最终坐标应为
finalX = node.layoutX + node.layoutBounds.minX

但是运行以下代码:
var rect;
Stage {
title: "Application title"
width: 250
height:250
scene: Scene {
content: [
Stack{content:[rect = Rectangle { width:10 height:10}] layoutX:10}
]
}
}

println("finalX = {rect.layoutX+rect.layoutBounds.minX}");

给我finalX = 0.0而不是finalX = 10.0,因为文档看似状态如此。

是否有明确的方法来获取JavaFX中的绝对最终定位坐标?

最佳答案

对于范围:

bounds = rect.localToScene(rect.getBoundsInLocal());

适用于JavaFx 1和2。

关于javafx - 在JavaFX中获取节点的全局坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1531538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com