Получение глобальной координаты узла в JavaFX
Как я могу получить фактическую позицию узлав сцене, Абсолютная позиция, независимо от каких-либо контейнеров / преобразований.
Например, я хочу перевести определенный узел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?