java - 使用笛卡尔坐标将形状添加到 JavaFX Pane

标签 java javafx

如果我在 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/

相关文章:

css - JavaFX TableView 更改选定的单元格颜色

Javafx动态添加嵌套列标题不渲染

java - 在java中执行linux命令

java - 查找加起来等于给定值的数组间隔

java - 用于视频下载的 Youtube API

JavaFX - 将原点置于 Pane 中心而不是左上角

hibernate - javaFX FXML,使用 Hibernate 填充 TableView

JavaFX进度条显示文件上传状态

java - print() 函数打印列表中每个元素的内容

java - 为什么 java.util.concurrent.atomic.AtomicBoolean 在内部用 int 实现?