And why the translateX and translateY is bad position on my scene ? I start on coordinate x = 100 y = 200 in real my real coordinate y = -24.8 ... why ? I need real coordina
I don't know what "real coordinate" means: which coordinate system are you wanting (screen, scene, parent, node...)?
The value you are displaying is the translateY
property; it's the amount by which the node is translated vertically. So -24.8 means it's moved 24.8 units up from its original position.
You can look at the boundsInParent
property, which tells you the bounds of the node in the parent's coordinate system, including any transforms (such as the translation). The boundsInLocal
property is the bounds of the node in its own coordinate system, and doesn't include any transforms.
If you want to get the bounds of the node in scene or screen coordinates, you can use one of the many localToScene(...)
or localToScreen(...)
methods to convert.
Update: For example, to track the bounds of the image in scene coordinates, you can do something like:
ChangeListener listener = new ChangeListener() {
@Override
public void changed(ObservableValue extends Number> ov, Number oldValue, Number newValue) {
Bounds boundsInScene = iv2.localToScene(iv2.getBoundsInLocal());
double xInScene = boundsInScene.getMinX();
double yInScene = boundsInScene.getMinY();
// do something with values...
}
});
iv2.translateXProperty().addListener(listener);
iv2.translateYProperty().addListener(listener);
Read the Javadocs for Node for more details.