/*--------------------------- ex12_6.java スレッド処理:タイマー ----------------------------*/ import java.applet.*; import java.awt.*; /* */ public class ex12_6 extends Applet implements Runnable { Thread thd = null; int cnt, acc; public void init() { // 初期化処理 acc = 1; cnt = 30; // カウンター初期値 thd = new Thread(this); // 新しいスレッドを作る thd.start(); // スレッド開始 } public void paint(Graphics g) { // 描画処理 g.setColor(Color.red); g.setFont(new Font("Dialog", Font.PLAIN, 72)); g.drawString("" + cnt, 60, 80); } public void run() { // スレッド開始したときに呼び出されるメソッド while (cnt >= 0) { repaint(); // アプレット強制再描画メソッド(結果としてpaint()が実行される) // スレッドを一時停止(停止時間:1000ミリ秒) try { thd.sleep(1000-33*acc); } catch (InterruptedException e) { } cnt--; acc++; } } }