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