Obtención de la coordenada global de un nodo en JavaFX
¿Cómo puedo obtener la posición real de un nodo?en la escena. La posición absoluta, independientemente de los contenedores / transformadas.
Por ejemplo, quiero traducir un determinado nodoa
para que se superponga temporalmente a otro nodob
. Así que deseo establecer sutranslateX
propiedad ab.globalX-a.globalX
.
La documentación dice:
Define la coordenada X de la traducción que se agrega a las coordenadas transformadas de este nodo para el diseño. Los contenedores o grupos que realizan el diseño establecerán esta variable en relación con layoutBounds.minX para colocar el nodo en la ubicación de diseño deseada.
Por ejemplo, si el niño debería tener una ubicación final de finalX:
child.layoutX = finalX - child.layoutBounds.minX;
Es decir, las coordenadas finales de cualquier nodo deben ser
finalX = node.layoutX + node.layoutBounds.minX
Sin embargo ejecutando el siguiente código:
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}");
me dafinalX = 0.0
en lugar definalX = 10.0
como los documentos aparentemente estado.
¿Existe un método claro para obtener las coordenadas de posicionamiento absolutamente definitivas en JavaFX?