復習テスト(6/2)


1)次のプログラムは、 スレッドによる処理で 時計の機能を提供する Clockというアプレットです。 空欄を埋めて完成させなさい。


import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
import java.util.[         ];

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

public class Clock extends Applet [                 ] [                ] {

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

        public [              ] clock = null;

   /** 初期設定のメソッド */

        public void init() {

                resize( 210, 36 );
        }

   /** アプレットの表示(初期状態)を行うメソッド */

        public void paint( Graphics g ) {

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

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

        public void [            ]( Graphics g ) {

                Date date = [       ] Date();  // 現在の時刻を取得
                paint( g );                    // 前の表示を消すため
                g.setColor( Color.yellow );
                g.drawString( date.toString(), 4, 24 );
        }

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

        public void [            ]() {

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

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

        public void [            ]() {

                if( clock != null ) {
                        clock.stop();        // スレッド停止
                        clock = null;        // スレッド消去
                }
        }

   /** スレッドとして行われる処理 */

        public void [            ]() {

                while( clock.isAlive() ) {
                        repaint();
                        try {
                              Thread.[            ](200);   // 200ミリ秒停止

                        } catch (InterruptedException e){ } // 例外処理が必要
                }
        }
}

 

2)このアプレットを呼び出すための HTML ファイルを完成させなさい。


<TITLE>Clock</TITLE>

<H1>デジタル時計のアプレットClock</H1>

<[              ] [           ]="[                ]"

    WIDTH="210" HEIGHT="36">

</[              ]>