/* スレッドを利用したアニメーション update()を上書き */ import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class xAnime03 extends Applet implements Runnable { Thread xthKeeper; Image ximgBall, ximgBackGround; int y = 0; // public void start(){ ximgBall = getImage(getCodeBase( ), "ball.gif"); ximgBackGround = getImage(getCodeBase(), "bg.jpg"); xthKeeper = new Thread(this); // スレッド生成 xthKeeper.start(); // スレッド開始(ready状態へ) } // Runnable対象部分 スレッド実行の時間管理 public void run(){ while(true){ // 実行を継続する条件 repaint(); // 繰返し仕事(画面書き換え) try { Thread.sleep(50); } catch(InterruptedException xe){ } } } // 画面に表示(繰返し仕事) public void paint(Graphics xgPen){ y = y + 5; if (y>200){ y = 0; } xgPen.drawImage(ximgBackGround,0,0,this); xgPen.drawImage(ximgBall, 30, y, this); } public void update(Graphics gPen) { paint(gPen); } }