import java.awt.*;
import java.applet.*;

public class ColorCircleApplet extends Applet implements Runnable {

    protected int color;

    public void init(){
        color = 0;                          // (1) color の初期設定
    }

    public void start(){
        Thread thread = new Thread(this);   // (2) スレッドを生成
        thread.start();                     //     スレッドの開始
    }

    public void run(){                      // (3) スレッドで呼ばれる関数
        while(true){
            repaint();                      // (4) 再描画

            color++;                        // (5) color を更新する
            if(color > 4){                  //     4 以上であれば 0 に戻す
                color = 0;
            }

            try{
                Thread.sleep(2000);         // (6) 2秒間スリープ
            }catch(InterruptedException ex){}
        }
    }

    public void paint(Graphics g){
        switch(color){                      // (7) color の値に応じて色を設定
        case 0:
            g.setColor(Color.red);
            break;
        case 1:
            g.setColor(Color.yellow);
            break;
        case 2:
            g.setColor(Color.green);
            break;
        case 3:
            g.setColor(Color.cyan);
            break;
        case 4:
            g.setColor(Color.blue);
            break;
        }

        g.fillOval(10, 10, 100, 100);       // (8) 円を描画
    }
}