What is the best way to get the absolute position of a node in JavaFX?
Imagine we have a node in a Pane (Hbox, Stackpane, or any other pane) and that may have a pare
It depends a little what you mean by "absolute". There is a coordinate system for the node, a coordinate system for its parent, one for its parent, and so on, and eventually a coordinate system for the Scene and one for the screen (which is potentially a collection of physical display devices).
You probably either want the coordinates relative to the Scene, in which case you could do
Bounds boundsInScene = node.localToScene(node.getBoundsInLocal());
or the coordinates relative to the screen:
Bounds boundsInScreen = node.localToScreen(node.getBoundsInLocal());
In either case the resulting Bounds object has getMinX(), getMinY(), getMaxX(), getMaxY(), getWidth() and getHeight() methods.
Assuming the name of the main Stage "window",and the name of the node "menu" you can do this :-)
double X=Main.window.getX()+menu.getLayoutX();
double Y=Main.window.getY()+menu.getLayoutY();
if you want to translate local coordinates to scenne coords you can use localToScene method .
Point2D point2D = node.localToScene(0,0);
for example if you want to know the center of a pane but in scene coordinates
Point2D point2D = pane.localToScene(pane.getWidth()/2,pane.getHeight()/2);