//import java.awt.Graphics; //import java.awt.Image; import java.awt.*; import java.applet.*; public class OyajiMT extends Applet implements Runnable { Image im[] = new Image[11]; Thread kick; int i; MediaTracker mt; public void init() { String p; // 画像データのロードを監視するためのオブジェクトを作る mt = new MediaTracker(this); for (i = 0; i < 11; i++){ if (i < 10) p = "0"; else p = ""; im[i] = getImage(getDocumentBase(), "images/oyaji" + p + i + ".gif"); // ID0番にイメージデータを登録する mt.addImage(im[i], 0); } } public void start() { if (kick == null) { kick = new Thread(this); kick.start(); } } public void run() { try { mt.waitForID(0); //ID0番の全ての絵のロード完了を待つ } catch (InterruptedException e) {} while (true) { if (i > 10) i = 0; repaint(); try { Thread.sleep(1000); } catch (InterruptedException e) { } i++; } } public void paint(Graphics g) { //ロードが完了していれば、インデックス(j)の指す絵を描く if (mt.checkID(0)) { g.drawImage(im[i], 10, 10, this); } else { //ロードが完了していないならば、"Wait..."というメッセージを表示 g.drawString("Wait...", 10, 20); } } public void stop() { if (kick != null) { kick.stop(); kick = null; } } }