【发布时间】:2014-01-01 14:30:36
【问题描述】:
所以我编写了一个可以编译的程序,但它不会做我想要它做的事情。它应该在不使用填充多边形的情况下填充三角形。我试图将代码限制在循环中。
重点是让三条线越来越小,填满三角形的每一部分。 解决这个问题的方法是,我认为应该找出循环应该在哪里停止。我猜测了三角形高度的一半(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++;
}
}
}
【问题讨论】:
-
1) 请不要忘记添加“?”提问!有些人在页面中搜索“?”如果“问题”中不存在,则直接转到下一个(实际)问题。 2) 为什么要编写小程序?如果是由于规范。老师请发给Why CS teachers should stop teaching Java applets。
-
这不是填充形状的方法。实现一个 flood fill algorithm
-
不要在绘画方法中调用 repaint()。这将导致无限循环。
标签: java swing awt paint java-2d