Obtendo a coordenada global de um nó no JavaFX
Como posso obter a posição real de um nóna cena. A posição absoluta, independentemente de quaisquer recipientes / transformações.
Por exemplo, eu quero traduzir um certo nóa
para que ele se sobreponha temporariamente a outro nób
. Então, eu gostaria de definir o seutranslateX
propriedade parab.globalX-a.globalX
.
A documentação diz:
Define a coordenada X da tradução que é adicionada às coordenadas transformadas deste Nó para fins de layout. Os contêineres ou grupos que executam o layout definirão essa variável em relação a layoutBounds.minX para posicionar o nó no local de layout desejado.
Por exemplo, se criança deve ter um local final de finalX:
child.layoutX = finalX - child.layoutBounds.minX;
Ou seja, as coordenadas finais de qualquer nó devem ser
finalX = node.layoutX + node.layoutBounds.minX
No entanto executando o seguinte 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 dáfinalX = 0.0
ao invés definalX = 10.0
como os documentos aparentemente estado.
Existe um método claro para obter as coordenadas de posicionamento absolutamente finais no JavaFX?