Ява рисовать ломаную от массива точек - PullRequest
0 голосов
/ 26 сентября 2011

Можно ли нарисовать ломаную линию, передав методу список значений 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 ]

4 голосов
/ 26 сентября 2011

Нет, нет такого метода не требуется Arraylist из Point ссылочного параметра.Синтаксис:

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

1 голос
/ 26 сентября 2011

Метод вызова Graphics2D.drawPolyline. Этот метод принимает массив значений координат X, массив значений координат Y и количество точек.

Не существует метода рисования линий, который принимает Point объектов, вы должны создавать массивы координат int.

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

1 голос
/ 26 сентября 2011

JavaDpc на Graphics#drawPolyLine утверждает, что вам нужно передать 2 массива int, представляющих координаты x и y.

В качестве альтернативы вы можете использовать Graphics2d#draw(Shape) и передать форму Path2D, которая можетбыть предварительно заполненным, используя ваши баллы (например, позвонив lineTo(x,y) для всех баллов, кроме первого - для которого вы могли бы позвонить moveTo(x,y)).

...