下面是一个简单的Applet代码,问题是for循环结束后的问题。
小程序屏幕上没有显示任何内容。
我想在for循环结束后屏幕被清除了。
我无法修复它我想知道如何防止屏幕清除,以便我的输出在屏幕上。
public class ColorArcs extends Applet
{
int width=50;
int length=50;
int topx=200-25,topy=200-25;
public void paint(Graphics g)
{
for(;length<250;)
{
g.drawArc(200-length/2,200-width/2,length,width,0,180);
length+=2;
width++;
if(length>=50&&length<=75)
setForeground(Color.cyan);
else
if(length>=75&&length<=100)
setForeground(Color.yellow);
else
if(length>=100&&length<=125)
setForeground(Color.green);
else
setForeground(Color.red);
try
{
Thread.sleep(80);
}
catch(InterruptedException ie){}
}
}
}
您在设置弧后设置前景,因此,它会被覆盖。这就是为什么你没有看到任何东西。
为了保持油漆,遵循Abhinav的想法。但要改变颜色,请参阅下面的代码:(一切都没有修复,但你可以从这个想法开始)
public class ColorArcs extends Applet
{
int width=50;
int length=50;
int topx=200-25,topy=200-25;
public void paint(Graphics g)
{
for(;length<250;)
{
length+=2;
width++;
if(length>=50&&length<=75)
setForeground(Color.cyan);
}
int length_ = 50; width=50;
for(;length_<250;)
{
g.drawArc(200-length_/2,200-width/2,length_,width,0,180);
length_+=2;
width++;
try
{
Thread.sleep(20);
}
catch(InterruptedException ie){}
}
}
}