好的,所以有一个Line2D
和一个Rectangle2D
可以被用于Graphics2D.draw()
代替Graphics.drawLine()
和Graphics.drawRectangle()
。
那么是否有类似的“升级”可以用于Graphics.drawPolyLine()
?
好的,所以有一个Line2D
和一个Rectangle2D
可以被用于Graphics2D.draw()
代替Graphics.drawLine()
和Graphics.drawRectangle()
。
那么是否有类似的“升级”可以用于Graphics.drawPolyLine()
?
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);
}
}