import browser.Applet;
import awt.Graphics;
import awt.Image;
/** 新しいアプレットのクラスの定義 */
class UpImage extends Applet  inplements Runnable {

   Thread slideThread=null;    //スレッドの宣言

   private Image image=null;    // イメージの宣言
   private int y=0;      // イメージのアプレット内の位置

 /** 初期設定の関数。イメージを生成、サイズを設定。*/  
  protected void init() {

       String imageSource = getAttribute("image");
       if ( imageSource== null )
            imageSource = "/hokusei/staff/fujiki.gif";

       image = getImage( imageSource );
       resize( image.width*2, image.height );
  }

 /** アプレットの表示を行う関数。初期設定の画像。*/  
  public void paint( Graphics g ) {
       g.drawImage( image, 0, 0 );
  } 
 
 /** アプレットのクリアを行わないで、イメージを描き直す。*/
  public void update( Graphics g ) {
 
       g.drawImage( image, 0, y - image.height );

       g.drawImage( image, 0, y );
   } 

 /** アプレットが画面に現れた時に呼び出される。*/
  protected void start() {
        if( slideThread == null ) {
             slideThread = new Thread( this );
             slideThread.start();   //スレッド起動
        }
    }

 /** アプレットが画面から消えた時に呼び出される。*/
    protected void stop() {

        if( slideThread != null ) {
             slideThread = null;     //スレッド停止
        }
    }

 /** アプレットが続行する作業 */
    public void run() {

        while( slideThread.isAlive() ) {
            repaint();
            y = (y+4) % image.height;   //位置をずらす
            Thread.sleep(200);    //一時停止200ミリ秒
        }
    }
}