所以我写了一个编译的程序,但它不会做我想做的事情。它应该填充三角形而不使用填充多边形。我试图将代码限制为循环。填充没有填充多边形的三角形?
重点是让三条线越来越小,以填充三角形的每个部分。 解决这个问题的方法是,我认为应该找出循环应该停止的地方。我猜测了三角形的一半高度(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)为什么编写一个小程序?如果这是由于规格。由老师,请参考[为什么CS老师应该停止教Java applets](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should-stop-teaching-java-applets/)。 –
这不是填充形状的方法。实现*** [洪水填充算法](http://en.wikipedia.org/wiki/Flood_fill)*** –
不要在绘画方法中调用repaint()。这将导致无限循环。 – camickr