【问题标题】:java draw polyline from an arraylist of pointsjava从点的arraylist中绘制折线
【发布时间】:2011-11-25 06:57:57
【问题描述】:

是否可以通过向方法传递 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点的参数传入的正确方法是什么?

【问题讨论】:

  • 学习阅读javadoc
  • 1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2)您可能(我不完全理解这个问题)可以使用GeneralPath

标签: java arraylist draw point polyline


【解决方案1】:

不,没有这样的方法需要ArraylistPoint 参考参数。语法是,

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-11-20
        • 2012-02-02
        • 1970-01-01
        • 1970-01-01
        • 2016-01-05
        • 2016-04-12
        • 1970-01-01
        • 2018-11-18
        • 2013-12-19
        相关资源
        最近更新 更多