0

是否可以通过向方法传递点值的数组列表来绘制折线?像这样的东西:

 ArrayList<Point> projectilePoints=new ArrayList<Point>();
    Projectile p = new Projectile(11, 17, 73, 37);

    for (int i = 0; i < 11; i++) {
        Point point = p.getPositionAt(i);
        projectilePoints.add(point);
    }
    g.drawPolyline(projectilePoints, projectilePoints, 11);

为折线传递 x 和 y 点的参数的正确方法是什么?

4

3 回答 3

4

不,没有这种方法采用Arraylist参考Point参数。语法是,

Graphics.drawPolyline(int[] xPoints, int[] yPoints, int nPoints)

于 2011-09-26T14:49:34.867 回答
1

JavaDpc onGraphics#drawPolyLine声明您需要传递 2 个表示 x 和 y 坐标的 int 数组。

或者,您可以使用Graphics2d#draw(Shape)并传递一个Path2D形状,该形状可以使用您的点进行预填充(例如,通过调用lineTo(x,y)除第一个之外的所有点 - 您可能会为此调用moveTo(x,y))。

于 2011-09-26T14:49:11.093 回答
1

调用方法Graphics2D.drawPolyline。该方法接受一个包含 X 坐标值的 int 数组、一个包含 Y 坐标值的 int 数组和点数。

没有采用Point对象的线条绘制方法,您必须创建 int 坐标数组。

请参阅http://download.oracle.com/javase/1,5.0/docs/api/java/awt/Graphics2D.html

于 2011-09-26T14:50:07.583 回答