文字列の連続描画


位置をズラしながら文字列を連続描画していく。描画色をランダムに設定する。
update()メソッドをオーバーライドすることで,描画文字列を消去しないで残す。
Java Applet

ソースコード

import java.applet.Applet;
import java.awt.*;

public class ja06b extends Applet
{
  int x = 10,y =30;			//描画位置のxy座標
  int w,h;				//Appletの幅,高さ

  public void init(){
	Dimension d = size();			//Appletのサイズを取得
	w = d.width;				//int型変数に,横幅/高さを設定
	h = d.height;
	setBackground(Color.white);		//Appletの背景色を白色に設定
	setFont(new Font("TimesRoman",Font.ITALIC,40));		//フォントを設定
  }

  public void paint(Graphics g){
	g.setColor(new Color((float)Math.random(),(float)Math.random(),(float)Math.random()));
				//ランダムな色を作成し,設定する
	g.drawString("Kodayan",x,y);
	x += 10;		//描画位置のxy座標を移動する
	y += 12;
	if(y > h){		//描画が下端に達したら,以下の処理をする
	  g.setColor(getBackground());
	  g.fillRect(0,0,w,h);		//Applet内を背景色で塗り潰す(即ち,描画を全てクリアする)
	  y = 30;			//描画開始位置を最初の位置に戻す
	  x = 10;
	}

	repaint(500);		//0.5秒間隔でupdate()メソッドを呼び出す
  }

  public void update(Graphics g){		//update()メソッドのオーバーライド
		//(これがポイント)update()をオーバーライドしない場合,デフォルトのupdate()メソッドが呼び出され,
		//Applet内が背景色で塗られて,描画が消去されてしまう。
		//このオーバーライドにより,単にpaint()メソッドを呼び出すだけにする。
	paint(g);
  }
}
末尾