旋转javafx形状后如何找到矩形的坐标

时间:2018-11-13 10:06:18

标签: java javafx

我绘制一个坐标为(x = 100,y = 100,宽度= 200,高度= 100)的矩形。然后,我将矩形的形状绕中心旋转。

this.rotation.addListener((obs, old, fresh) -> {
    Rotate rotate = new Rotate();
    rotate.setAngle((double) fresh - (double) old);
    rotate.setPivotX(x.getValue().doubleValue() + (width.getValue().doubleValue() / 2));
    rotate.setPivotY(y.getValue().doubleValue() + (height.getValue().doubleValue() / 2));
    shape.getTransforms().addAll(rotate);
});

现在如何找出形状的坐标?

1 个答案:

答案 0 :(得分:2)

您可以使用m方法将点从localToParent的坐标系转换为父级的坐标系。

Rectangle

如果仅需要在显示Point2D topLeftInParent = shape.localToParent(shape.getX(), shape.getY()); 的父级中设置x / y范围,则也可以使用Rectangle

getBoundsInParent

顺便说一句:我不建议您对每个更改添加新的转换。相反,我建议调整现有的旋转角度:

Bounds parentBounds = shape.getBoundsInParent();