Java: Graphics2D версия полилинии? - PullRequest
3 голосов
/ 02 июня 2011

ОК, поэтому есть Line2D и Rectangle2D, которые могут использоваться Graphics2D.draw() вместо Graphics.drawLine() и Graphics.drawRectangle().

Есть ли подобное "обновление" для Graphics.drawPolyLine()?

1 Ответ

7 голосов
/ 02 июня 2011

Посмотрите на Path2D.Это Shape и, следовательно, должно быть в состоянии пройти через Graphics2D.draw().

Пример использования:

import java.awt.*;
import java.awt.geom.Path2D;

import javax.swing.*;

public class FrameTestBase extends JFrame {

    public static void main(String args[]) {
        FrameTestBase t = new FrameTestBase();
        t.add(new JComponent() {
            public void paintComponent(Graphics g) {
                Path2D p = new Path2D.Double();
                p.moveTo(15, 15);
                p.lineTo(150, 75);
                p.lineTo(100, 10);
                p.lineTo(10, 100);

                ((Graphics2D) g).draw(p);
            }
        });

        t.setDefaultCloseOperation(EXIT_ON_CLOSE);
        t.setSize(200, 200);
        t.setVisible(true);
    }
}

enter image description here

...