java从点的arraylist中绘制折线

时间:2011-09-26 14:40:52

标签: java arraylist draw point polyline

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

 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点参数的正确方法是什么?

3 个答案:

答案 0 :(得分:4)

不,没有这样的方法需要Arraylist Point个引用参数。语法是,

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

答案 1 :(得分:1)

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

或者,您可以使用Graphics2d#draw(Shape)并传递Path2D形状,可以使用您的积分预先填充(例如,通过调用lineTo(x,y)获取除第一个之外的所有点 - 您可以致电moveTo(x,y))。

答案 2 :(得分:1)

致电方法Graphics2D.drawPolyline。此方法采用X坐标值的int数组,Y坐标值的int数组和点数。

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

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