绘制在Java三角形(Drawing a triangle in java)

2019-10-17 08:42发布

所以,我的任务的一部分是要链接到各种按钮的三角形类......但我不知道如何使一个在月食。 具体说明这样说:

创建一个三角形类

  1. 数据字段:点[] COORDS;
  2. 建设者
  3. 实现超类中定义的所有抽象方法
  4. getter和setter每个数据字段
  5. 覆盖公共无效漆(图形为arg0)方法

我把一切都在其他classes..except为三角形类设置。 我对如何创建使用点的数组一个三角形迷茫......我需要用点x,y或以某种方式保存3(X,Y)坐标是一个数组变量COORDS对? 我想创造它,你会用drawPolygon ...但我不能肯定。 有小费吗?

Answer 1:

下面是三角形的示例类

public class Triangle {

  private Point[] coords;

  // Null object constructor
  public Triangle() {
    this.coords = null;
  }

  // Constructor with point array
  public Triangle(Point[] coords) {
    this.coords = coords;
  }

  // Constructor with multiple points
  public Triangle(Point a, Point b, Point c) {
    this.coords = new Point[3];
    coords[0] = a;
    coords[1] = b;
    coords[2] = c;
  }

  // The actual paint method
  public void paint(Graphics arg0) {
    // Setup local variables to hold the coordinates
    int[] x = new int[3];
    int[] y = new int[3];
    // Loop through our points
    for (int i = 0; i < coords.length; i++) {
        Point point = coords[i];
        // Parse out the coordinates as integers and store to our local variables
        x[i] = Double.valueOf(point.getX()).intValue();
        y[i] = Double.valueOf(point.getY()).intValue();
    }
    // Actually commit to our polygon
    arg0.drawPolygon(x, y, 3);
  }
}

不知道到底这个类应该怎样进行扩展,所以没有被标记为一个覆盖或任何东西,它缺少制定者和存取,但你应该能够使它发挥作用。



Answer 2:

使用g.drawPolygon ,它利用数组Point S作为它的ARGS。



Answer 3:

没有类似的东西,在这里我画了三个边的多边形。 可能有帮助..

for (int i = 0; i < 3; i++){
  polygon1.addPoint(
    (int) (40 + 50 * Math.cos(i * 2 * Math.PI / 3)),
    (int) (150 + 50 * Math.sin(i * 2 * Math.PI / 3))
  );
}
g.drawPolygon(polygon1);


文章来源: Drawing a triangle in java