如何让JavaFX中的左上角X和Y旋转矩形?

时间:2018-01-12 12:23:47

标签: java javafx

我想旋转一个JavaFX矩形。但是当我旋转它并尝试得到它的X和Y时,这和之前的X和Y相同。我使用这段代码:`

Rectangle r = new Rectangle(100,100,40,40); 
r.getX();
r.getY();
r.setRotate(85);
r.getX();
r.getY();    `

getX()和getY()在rotate方法之前和之后返回相同的结果。 所以我的问题是如何才能在他的新位置获得左上角的X和Y. 这是一个例子: enter image description here

2 个答案:

答案 0 :(得分:1)

我不了解javafx,但我认为当你旋转物体时,你不会改变它的X和Y位置。也许你应该使用类似r.getRotate()的东西。

答案 1 :(得分:0)

使用localToParent将节点转换应用于要检索的坐标,而不是使用未转换的坐标:

Point2D transformedPoint = r.localToParent(r.getX(), r.getY());

BTW:rotate属性围绕节点的中心旋转。您不会在图像中得到结果(特别是不能旋转85°)。