所以我写了一个编译的程序,但它不会做我想做的事情。它应该填充三角形而不使用填充多边形。我试图将代码限制为循环。
关键是要使三条线越来越小,以填充三角形的每个部分。 解决这个问题的方法是,我认为应该找出循环应该停止的位置。我猜了三角形的一半高度(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++;
}
}
}
答案 0 :(得分:1)
更改循环逻辑,尝试以下代码
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()和重绘的信息,请点击链接