Java:如何使用Graphics2D绘制折线?

3

好的,所以有一个Line2D和一个Rectangle2D可以被用于Graphics2D.draw()代替Graphics.drawLine()Graphics.drawRectangle()

那么是否有类似的“升级”可以用于Graphics.drawPolyLine()

1个回答

8
请查看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


啊,原来是你在问啊;-)(如果我注意到是你的话,也许就不会提供“示例代码”了 :)) - aioobe
无论是谁回答都没关系——这是一个更好的答案,对每个人都有帮助(而且我是Java 2D图形的初学者)。 - Jason S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接