classes/MyClock.java
import browser.Applet;
import awt.Graphics;
import awt.Color;
import java.util.Date;
/**
時計のアプレット MyClock クラスの定義
*/
class MyClock extends Applet implements Runnable {
Thread clockThread=null; // スレッド
/**
初期設定の関数。
指定された色のイメージを生成し、アプレットのサイズを設定。
*/
protected void init() {
width=208; height=36;
resize( width, height );
}
/**
アプレットの表示(初期状態)を行う関数。
*/
public void paint( Graphics g ) {
g.setForeground( Color.black );
g.paint3DRect( 0, 0, width, height, true, false );
}
/**
アプレットの表示の変更を行う関数。
*/
public void update( Graphics g ) {
Date date = new Date(); //現在の時刻
g.setForeground( Color.black );
g.paint3DRect( 0, 0, width, height, true, false );
g.setForeground( Color.yellow );
g.drawString( date.toString(), 4, 24 );
}
/**
アプレットが画面に現れた時に呼び出される。
*/
protected void start() {
if( clockThread == null ) {
clockThread = new Thread(this);
clockThread.start(); //スレッド起動
}
}
/**
アプレットが画面から消えた時に呼び出される。
*/
protected void stop() {
if( clockThread != null ) {
clockThread = null; //スレッド停止
}
}
/**
アプレットが続行する作業
*/
public void run() {
while( clockThread.isAlive() ) {
repaint();
Thread.sleep(200); //一時停止
}
}
}