所以,我的任务的一部分是要链接到各种按钮的三角形类......但我不知道如何使一个在月食。 具体说明这样说:
创建一个三角形类
- 数据字段:点[] COORDS;
- 建设者
- 实现超类中定义的所有抽象方法
- getter和setter每个数据字段
- 覆盖公共无效漆(图形为arg0)方法
我把一切都在其他classes..except为三角形类设置。 我对如何创建使用点的数组一个三角形迷茫......我需要用点x,y或以某种方式保存3(X,Y)坐标是一个数组变量COORDS对? 我想创造它,你会用drawPolygon ...但我不能肯定。 有小费吗?
下面是三角形的示例类
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);
}
}
不知道到底这个类应该怎样进行扩展,所以没有被标记为一个覆盖或任何东西,它缺少制定者和存取,但你应该能够使它发挥作用。
使用g.drawPolygon
,它利用数组Point
S作为它的ARGS。
没有类似的东西,在这里我画了三个边的多边形。 可能有帮助..
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);