如何获取场景中节点的实际位置。绝对位置,与任何容器/转换无关。
例如,我想翻译某个节点a
,使其暂时与另一个节点重叠b
。所以我希望将他的translateX
属性设置为b.globalX-a.globalX
.
文档说:
定义为布局目的添加到此节点的变换坐标的平移的 X 坐标。执行布局的容器或组将相对于 layoutBounds.minX 设置此变量,以便将节点定位在所需的布局位置。
例如,如果孩子的最终位置应该是 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 中的绝对最终定位坐标?