“我正在尝试用Java绘制QuadCurve线。当我在每行中对x和y值进行硬编码时,我能够做到这一点,但是当我尝试从循环中绘制线条时,我得到了一条不需要的线条在顶部。我希望将它放在一个循环中,以便我可以在另一个位置创建值并将值提供给我的Drawing类。我认为它可能是一个循环问题。我“进入”代码和值在数组中都是正确的。我在大学,所以任何帮助都表示赞赏。谢谢!
此代码有效:“
Graphics2D g2 = (Graphics2D) g.create();
g2.setPaint(Color.BLUE);
Shape drawLine1A = new QuadCurve2D.Float(40, 450, 100, 300, 210, 180);
Shape drawLine2A = new QuadCurve2D.Float(210, 180, 315, 150, 390, 240);
Shape drawLine3A = new QuadCurve2D.Float(390, 240, 430, 242, 480, 245);
g2.draw(drawLine1A);
g2.draw(drawLine2A);
g2.draw(drawLine3A);
“此代码无法正常运行:”
Graphics2D g2 = (Graphics2D) g.create();
g2.setPaint(Color.BLUE);
Shape line;
int[] x = {40, 100, 210, 210, 315, 390, 390, 430, 480};
int[] y = {450, 300, 180, 180, 150, 240, 240, 242, 245};
int k;
int h;
for(int i = 0; i < 7; i++)
{
k = i + 1;
h = k + 1;
line = new QuadCurve2D.Float(x[i], y[i], x[k], y[k], x[h], y[h]);
g2.draw(line);
}
答案 0 :(得分:0)
“我想到了这一点。我不得不将我增加3,以便在正确的位置设置坐标。简单的修复。我看了太久了!”