Как я могу получить фактическое положение node в сцене. Абсолютное положение, независимо от каких-либо контейнеров/преобразований.
Например, я хочу перевести определенный node a
так, чтобы он временно перекрывал другой node b
. Поэтому я хочу установить его свойство translateX
в b.globalX-a.globalX
.
В документации написано:
Определяет координату X перевод, который добавляется к преобразованные координаты этого Nodeс целью компоновки. Контейнеры или Группы, выполняющие макет, будут установлены эта переменная относительно layoutBounds.minX для позиции node на требуемом макете местоположение и др.
Например, если ребенок должен иметь конечное местоположение finalX:
child.layoutX = finalX - child.layoutBounds.minX;
То есть конечные координаты любого node должны быть
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?