アプレットを使ったデジタル時計
<ソース>
/* Java Clock Applet 993616009 */
import java.util.Date;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
public class Clock extends java.applet.Applet implements Runnable {
Thread clockdisplay; //スレッドのクラス作成
public void paint(Graphics scr) { //表示のメソッド
Date today = new Date(); //Date型の新しいクラス
String hms = ""; //表示のための文字列変数
scr.setFont(new Font("TimesRoman",Font.BOLD,24)); //フォントの設定
scr.setColor(Color.blue); //色の設定
scr.drawString((1900 + today.getYear()) + "/" +
(today.getMonth() + 1) + "/" +
today.getDate(),20,25);
if ( today.getHours() < 10 ) { //戻り値:0〜23
hms += "0"; //1桁の時に頭に0をつける
}
hms += today.getHours() + ":";
if ( today.getMinutes() < 10 ) { //戻り値:0〜59
hms += "0";
}
hms += today.getMinutes() + ":";
if ( today.getSeconds() < 10 ) { //戻り値:0〜59
hms += "0";
}
hms += today.getSeconds();
scr.drawString( hms, 20, 50 ); //作成した時刻の文字列を表示
}
public void start() { //アプレットが開始されたら独立して実行
clockdisplay = new Thread(this);
clockdisplay.start(); //スレッドのrunメソッド実行開始
}
public void run() { //スレッドの実行
while ( true ) { // 無限ループ
try { Thread.currentThread().sleep(1000); } //1秒待つ
catch ( InterruptedException e ){}
repaint(); //画面の書き直し
}
}
}
------------------------------------------------------------------
<解説>
・時間を扱うクラスとメソッド
年月日や時間の情報はコンピュータから得ています。時間を得るには
java.utilパッケージの Dateクラスを使います。ここではDateクラス内
の get Year(),Month(),Date(),Hours(),Minutes,Seconds()というメソ
ッドを使っています。
・スレッド
1.スレッドを使うクラスに対して、Runable インターフェースを組
み込む。(implementsをクラスの宣言時につける。)
2.スレッドを実際に呼び出すコードの中でスレッド型のクラス(clo
ckdisplay)を作成
3.作成したクラスの初期化
4.メソッドを使いスレッドのメソッドの実行開始
これでスレッドが独立して実行される。
TOPページへ戻る