所以我写了一个程序来编译,但它不能做我想做的事情。它应该在不使用填充多边形的情况下填充三角形。我试图将代码限制在循环中。
重点是使三条线越来越小,以填充三角形的每一部分。解决这个问题的方法是,我认为应该找出循环应该停止的地方。我猜了一下三角形(140)的一半高。
import javax.swing.*;
import java.awt.*;
public class Tri extends JApplet
{
int x1=0;
int y1 = 140;
int x2 = 120;
int y2 = 140;
int x3 = 60;
int y3;
public void paint (Graphics page)
{
for (y3= 0; y3<=70; y3++)
{
page.drawLine (x1, y1, x2, y2);
page.drawLine (x2, y2, x3, y3);
page.drawLine (x3, y3, x1, y1);
y1++;
x2--;
y2--;
x1++;
}
}
}
更改循环逻辑,尝试以下代码
int x1=0;
int y1 = 140;
int x2 = 120;
int y2 = 140;
int x3 = 60;
int y3=0;
public void paint (Graphics page)
{
page.drawLine (x1, y1, x2, y2);
page.drawLine (x2, y2, x3, y3);
page.drawLine (x3, y3, x1, y1);
for (x1= 0; x1<=120; x1++)
{
page.drawLine (x3, y3, x1, y1);
} }
保持两条线不变,并通过改变其坐标来改变另一条线的位置
有关paint()和paint的信息,请访问链接
paint()和重新绘制()`