如何使用Jpanel将行函数列表合并为一个drawPolygon函数?

问题描述 投票:0回答:1

有什么方法可以将其放入简单的draw / fillPolygon中?我正在尝试绘制一些使用多边形函数会更容易且更少冗余的内容,但我不确定如何在Jpanel中使用它。


        g2D.draw(new Line2D.Double(0, 4, 3,4));

        g2D.draw(new Line2D.Double(3, 4, 5,3));

        g2D.draw(new Line2D.Double(5, 3, 12,3));

        g2D.draw(new Line2D.Double(12, 3, 11,2));

        g2D.draw(new Line2D.Double(11, 2, 9,1));

        g2D.draw(new Line2D.Double(9, 1, 3,1));

        g2D.draw(new Line2D.Double(3, 1, 0,2));

        g2D.draw(new Line2D.Double(0,2,0,3));

        g2D.draw(new Line2D.Double(0, 3, 0,4));
java graphics jpanel graphics2d
1个回答
1
投票

创建Path2D

Path2D

或使用Path2D.Double path = Path2D.Double(); path.moveTo(0, 4); path.lineTo(3, 4); path.lineTo(5, 3); path.lineTo(12, 3); path.lineTo(11, 2); path.lineTo(9, 1); path.lineTo(3, 1); path.lineTo(0, 2); path.lineTo(0, 3); path.lineTo(0, 4); g2D.draw(path);

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

或使用drawPolyline(int[] xPoints, int[] yPoints, int nPoints),您不必在末尾重复第一点。

g2D.drawPolyline(new int[] { 0, 3, 5, 12, 11, 9, 3, 0, 0, 0 },
                 new int[] { 4, 4, 3,  3,  2, 1, 1, 2, 3, 4 },
                 10);

或再次创建drawPolygon(int[] xPoints, int[] yPoints, int nPoints)并使用它,而无需重复第一点:

drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
© www.soinside.com 2019 - 2024. All rights reserved.