gpt4 book ai didi

java - 如何使用 JPanel 将一系列线函数合并为一个 drawPolygon 函数?

转载 作者:行者123 更新时间:2023-12-02 01:08:07 25 4
gpt4 key购买 nike

有什么方法可以将其放入简单的绘制/填充多边形中吗?我正在尝试绘制一些使用多边形函数会更容易且更少冗余的东西,但我不确定如何将它与 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));

最佳答案

创建 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) .

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)您不必在最后重复第一点。

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

或者创建一个Polygon并再次使用它,而不重复第一点:

Polygon polygon = Polygon(new int[] { 0, 3, 5, 12, 11, 9, 3, 0, 0 },
new int[] { 4, 4, 3, 3, 2, 1, 1, 2, 3 },
9);
g2D.drawPolygon(polygon);

关于java - 如何使用 JPanel 将一系列线函数合并为一个 drawPolygon 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59744343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com