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">
</[ ]>