首页 > 解决方案 > 如何在 JavaFX 中绘制等边三角形?

问题描述

我正在尝试使用 JavaFX 创建一个等边三角形。据说使用 Polygon and setLayoutX()and setLayoutY()。那么该怎么做呢?这是我试过的代码:

@Override public void start(Stage stage) throws Exception {
    stage.setTitle("Board");
    StackPane root = new StackPane();
    Scene scene = new Scene(root, 600, 519);
    stage.setScene(scene);
    Polygon triangle = new Polygon();
    stage.show();
}

标签: javafx

解决方案


两个问题:

  1. 您没有将多边形添加到容器中
  2. 您没有定义多边形的点

你的代码应该是这样的:

@Override
public void start (Stage stage) throws Exception {
    stage.setTitle("Board");
    Polygon triangle = new Polygon();
    //triangle.setLayoutX(100);
    //triangle.setLayoutY(400);
    triangle.getPoints()
        .addAll(new Double[] {300.0, 50.0, 250.0, 100.0, 350.0, 100.0,});
    Group root = new Group(triangle); // You can replace with StackPane for center alignment
    Scene scene = new Scene(root, 600, 519);
    stage.setScene(scene);
    stage.show();
}

完成此操作后,您应该会看到类似于下图的内容。您需要找出三角形的 (x,y) 坐标。

在此处输入图像描述

当我取消注释setLayoutX()setLayoutY()行时,结果如下图所示。

在此处输入图像描述

如果您需要 Java FX 教程中的绘图,请查看站点。


推荐阅读