如果我在 javafx Pane 上放置任何形状(例如圆形),则 x/y 坐标 0,0 位于左上角。示例圆圈,其中一个在角落:
Circle circle = new Circle(0.0, 0.0, 10);
root.getChildren().add(circle);
现在我确实有一个对象列表(圆、直线、圆弧等),这些对象是根据笛卡尔坐标(x0、y0 在中心)预先计算的坐标。
是否有支持此形状坐标系的 Pane 实现?如果不是,转换坐标的最简单方法是什么,以便在给定大小的 Pane 的中心绘制上圆?
感谢任何提示。
最佳答案
您可以将所有形状添加到一个组
,然后相应地翻译该组,如下所示:
Group group = new Group();
Pane pane = new Pane(group);
pane.setPrefWidth(300);
pane.setPrefHeight(300);
group.getChildren().add(new Circle(0, 0, 10));
group.setTranslateX(pane.getPrefWidth() / 2);
group.setTranslateY(pane.getPrefHeight() / 2);
Group
:
Any transform, effect, or state applied to a Group will be applied to all children of that group.
关于java - 使用笛卡尔坐标将形状添加到 JavaFX Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34160639/