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

问题描述 投票:-1回答:3

下面是一个简单的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){}
    }
}
}
java applet awt java-2d
3个回答
1
投票

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


0
投票

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


0
投票

为了保持油漆,遵循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){}
    }
}
}
© www.soinside.com 2019 - 2024. All rights reserved.