canvasのコツ

import com.nttdocomo.ui.*;

//●メインのクラス
//処理系クラスの生成
//画面表示
public class CanvasHello extends IApplication{
	MainCanvas gc;
	public void start(){
		gc = new MainCanvas();
		Display.setCurrent(gc);
	}
}


//●処理系のメインクラス
//コンストラクタでソフトキーの設定 とラベルを設定
//paint()メソッドの中で内容を記述していく
//paint()メソッドの中でg.lock()〜〜〜g.unlock(true)を最初と最後につける。画面のちらつき画抑えられる。〜〜〜は画面更新なしに一気に描画される
//processEvnet()メソッドでソフトキーの動作分岐(メソッド呼び出し)
//それぞれの機能(メソッド)を定義
class MainCanvas extends Canvas{

	//コンストラクタでソフトキーの設定 とラベルを設定
	public MainCanvas(){
		setSoftLabel(Frame.SOFT_KEY_1,"開始");
		setSoftLabel(Frame.SOFT_KEY_2,"終了");
	}
	
	//pant()メソッド この中の処理が表示される
	public void paint(Graphics g){
		g.lock();
		
		//これ以降は黒で描画される
		g.setColor(Graphics.getColorOfName(Graphics.BLACK));
		g.fillRect(0,0,getWidth(),getHeight());

		//これ以降は赤で描画される
		g.setColor(Graphics.getColorOfName(Graphics.RED));

		Font f = Font.getDefaultFont();
		String s = "こんにちは世界";
		g.drawString(s,(getWidth() - f.getBBoxWidth(s)) / 2, getHeight() / 2);	//センタリングして表示
		
		
		g.unlock(true);
	}
	
	//キーイベントの動作指定
	public void processEvent(int type, int param) {
		if(type == Display.KEY_PRESSED_EVENT){
			if(param == Display.KEY_SOFT1){
				repaint();
			}else if(param == Display.KEY_SOFT2){
				IApplication.getCurrentApp().terminate();
			}
		}
	}
	
}