如何使用JavaFX创建一个三角形?

3
如何使用JavaFX创建三角形? 我已经尝试了以下方法,但不知道如何完全解决问题:
Polygon triangle = new Polygon();
triangle.getPoints().setAll(
   50, 50,
   60, 60,
   20, 40
);
2个回答

8

triangle.getPoints().setAll 替换为 triangle.getPoints().addAll(

解释:

你正在添加3个点,x0=50,y0=50,然后是x0=60,y0=60,最后是x0=20,y0=40,这些是三角形的顶点...

这代表一个三角形,如下所示(注意不要绘制一条线或者奇怪的图形)

enter image description here

以下代码片段将生成类似于下面图片的多边形。

public class Main extends Application {
      @Override
      public void start(Stage stage) {
        Group root = new Group();
        Scene scene = new Scene(root, 260, 80);
        stage.setScene(scene);
    
        Group g = new Group();
    
        Polygon polygon = new Polygon();
        polygon.getPoints().addAll(new Double[]{
            0.0, 0.0,
            20.0, 10.0,
            10.0, 20.0 });
        
        g.getChildren().add(polygon);
        
        scene.setRoot(g);
        stage.show();
      }
    
      public static void main(String[] args) {
        launch(args);
      }
    }

enter image description here


1

来自Polygon的Javadoc

Polygon polygon = new Polygon();
polygon.getPoints().addAll(new Double[]{
    0.0, 0.0,
    20.0, 10.0,
    10.0, 20.0 });

看起来你缺少了new Double[] {...}


我刚刚添加了,谢谢 :) 但是你能告诉我这些值代表什么意思吗? - Malik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接