在构造函数中,我尝试从Point2D数组构建Point2D.Double数组。
基本上我想将坐标添加到图形。
我这样做:
private Point2D.Double [] points;
public EmbeddedGraph(Point2D[] pointArray){
super(pointArray.length);
for (int i=0; i<pointArray.length; i++){
points[i] = new Point2D.Double();
points[i].setLocation(pointArray[i].getX(), pointArray[i].getY());
}
}
但是我得到了NullPointerException。
坐标数组(pointArray)来自练习的给定代码。因此,我猜错是我自己造成的。
Point2D[] coordinates = new Point2D[4];
coordinates[0] = new Point2D.Double(-14,0);
coordinates[1] = new Point2D.Double(0,10);
coordinates[2] = new Point2D.Double(0,-10);
coordinates[3] = new Point2D.Double(14,0);
EmbeddedGraph g = new EmbeddedGraph( coordinates );
最佳答案
您试图填充points[]
数组为空时。
您应该先这样做:
`points = new Point2D[pointArray.length]`
(如果未在
super()
中完成);