復習テスト(11/11)

時計の機能を実現したアプレットです。 空欄を埋めてプログラムを完成させなさい。



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

/** 時計のアプレット Clock クラスの定義 */

public class Clock extends Applet implements Runnable {

    /** 時刻の更新を行うスレッド */

       public Thread clockThread=null;

    /** 初期設定のメソッド
     指定された色のイメージを生成し、アプレットのサイズを設定 */

       public void init() {

             resize( 208, 36 );
       }

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

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

    /** アプレットの表示の変更を行うメソッド */

       public void update( Graphics g ) {

             paint( g );

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

             g.setColor( Color.yellow );
             g.drawString( date.toString(), 4, 24 );
       }

    /** アプレットが画面に現れた時に呼び出される。*/

       public void [           ]() {

             if( clockThread == null ) {
                   clockThread = new [           ](this); //スレッド生成
                   clockThread.[            ]();          //スレッド起動
             }
       }

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

       public void [           ]() {

             if( clockThread != null ) {
                   clockThread.[            ](); //スレッド停止
                   clockThread = null;           //スレッド消去
             }
       }

    /** アプレットが続行する作業 */

       public void [           ]() {

             while( clockThread.isAlive() ) {
                  repaint();
                  [          ] {
                       Thread.[           ](200);   //一時停止
                  }
                  [          ] (InterruptedException e){ /* 形式上必要 */ }
             }
       }
}