SlideImage.java
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
/** 画像をループして表示するアプレットSlideImageクラスの定義 */
public class SlideImage extends Applet implements Runnable {
/** 画像の移動を行うスレッド */
public Thread slider = null;
/** イメージ */
protected Image image = null;
/** イメージのアプレット内の位置 */
protected int x = 0;
/** 初期設定のメソッド */
public void init() {
String imageSource = getParameter("image");
if ( imageSource == null ) imageSource = "myphoto.gif";
image = getImage( getDocumentBase(), imageSource );
}
/** アプレットの表示を行うメソッド */
public void paint( Graphics g ) {
g.drawImage( image, x - image.getWidth(this), 0, this );
g.drawImage( image, x, 0, this);
}
/** アプレットが画面に現れた時に呼び出される */
public void start() {
if( slider == null ) {
slider = new Thread(this); // スレッド生成
slider.start(); // スレッド起動
}
}
/** アプレットが画面から消えた時に呼び出される */
public void stop() {
if( slider != null ) {
slider.stop(); // スレッド停止
slider = null; // スレッド消去
}
}
/** スレッドとして行われる処理 */
public void run() {
while( slider.isAlive() ) {
repaint();
x = (x+4) % image.getWidth(this); // 位置をずらす
try {
Thread.sleep(200); // 一時停止200ミリ秒
} catch (InterruptedException e){} // 例外処理が必要
}
}
}