¿Cómo puedo obtener la posición real de un nodo en la escena. La posición absoluta, independientemente de cualquier contenedor/transformada.Obtener la coordenada global de un nodo en JavaFX
Por ejemplo, quiero traducir un determinado nodo a
para que se superponga temporalmente a otro nodo b
. Por lo tanto, deseo establecer su propiedad translateX
en b.globalX-a.globalX
.
La documentación dice:
Define la coordenada X de la traducción que se añade a los coordenadas transformadas de este Nodo con el propósito de diseño. Los contenedores o los grupos que realizan el diseño establecerán esta variable relativa a layoutBounds.minX para colocar el nodo en la ubicación del diseño deseado .
Por ejemplo, si el niño debe tener una última ubicación 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 código siguiente :
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 da finalX = 0.0
en lugar de finalX = 10.0
como parece indicar el documento.
¿Existe un método claro para obtener las coordenadas de posicionamiento absolutamente definitivas en JavaFX?
Sólo me preguntaba, ¿qué formato es el código anterior en? No es Java, tal vez JSON? –
Es JavaFX, un nuevo lenguaje de programación de Sun/Oracle. –
El formato, sé que es JavaFX, pero no es código Java. –