beta/MyClock.java



import java.awt.Graphics;
import java.awt.Color;
import java.util.Date;

/**
 時計のアプレット MyClock クラスの定義
 */
public class MyClock extends java.applet.Applet implements Runnable {

       Thread clockThread=null;             // スレッド

    /**
     初期設定の関数。
     指定された色のイメージを生成し、アプレットのサイズを設定。
     */
       public void init() {

             size().width=208; size().height=36;
             resize( size().width, size().height );
       }

    /**
     アプレットの表示(初期状態)を行う関数。
     */
       public void paint( Graphics g ) {

             g.setColor( Color.black );
             g.fill3DRect( 0, 0, size().width, size().height, false );
       }

    /**
     アプレットの表示の変更を行う関数。
     */
       public void update( Graphics g ) {

             Date date = new Date();       //現在の時刻

             g.setColor( Color.black );
             g.fill3DRect( 0, 0, size().width, size().height, false );
             g.setColor( Color.yellow );
             g.drawString( date.toString(), 4, 24 );
       }

    /**
     アプレットが画面に現れた時に呼び出される。
     */
       public void start() {

             if( clockThread == null ) {
                   clockThread = new Thread(this);
                   clockThread.start();          //スレッド起動
             }
       }

    /**
     アプレットが画面から消えた時に呼び出される。
     */
       public void stop() {

             if( clockThread != null ) {
                   clockThread = null;           //スレッド停止
             }
       }

    /**
     アプレットが続行する作業
     */
       public void run() {

             while( clockThread.isAlive() ) {
                  repaint();
                  try {
                     Thread.sleep(200);            //一時停止
                  }
                  catch (InterruptedException e){}
             }
       }
}