for循环结束后,为什么applet屏幕中没有显示任何内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环结束后,为什么applet屏幕中没有显示任何内容?相关的知识,希望对你有一定的参考价值。

下面是一个简单的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){}
    }
}
}
答案

它在循环结束后没有被清除.Screenshot of Applet viewer and code comment out side for loop

另一答案

您在设置弧后设置前景,因此,它会被覆盖。这就是为什么你没有看到任何东西。

另一答案

为了保持油漆,遵循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){}
    }
}
}

以上是关于for循环结束后,为什么applet屏幕中没有显示任何内容?的主要内容,如果未能解决你的问题,请参考以下文章

For循环没有结束[重复]

php中for循环,有时候还没有循环完就结束了!

Java在方法中的for循环里写return是结束循环还是结束方法?

为啥JAVA IO流 局部的每次打开 循环结束后必须要关闭呢

递归函数中的for循环在递归结束后继续

通话结束后在屏幕上显示弹出窗口