// ====================================================================
//         i-Appli PROGRAM (Panel) BASE SOURCE    BakuretuKen         
// ====================================================================

import com.nttdocomo.ui.*;
import com.nttdocomo.util.*;
import com.nttdocomo.io.*;

// =========================================================
// メインクラス
// =========================================================
public class PanelBase extends IApplication implements SoftKeyListener, KeyListener, ComponentListener {
	
	// === グローバル変数 ===
	Label lv;
	Button b;
	TextBox tb;
	
	// ---------------------------------------------------------
	// 初期設定 イニシャライズ start()
	// ---------------------------------------------------------
	public void start() {
		
		// パネル宣言
		Panel panel = new Panel();
		
		// == AWTコンポーネント ==
		
		// パネルにラベルをセット
		lv = new Label("ラベルです");
		panel.add(lv);
		
		// パネルにボタンをセット
		b = new Button("ボタン");
		panel.add(b);
		
		// パネルにテキストボックスをセット
		tb = new TextBox("", 10, 1, TextBox.DISPLAY_ANY);
		tb.setInputMode(tb.NUMBER); // 入力時はデフォで数字モード
		panel.add(tb);
		
		// パネルにF1キーセット
		panel.setSoftLabel(Frame.SOFT_KEY_1, "Exit");
		// パネルにF2キーセット
		panel.setSoftLabel(Frame.SOFT_KEY_2, "Menu");
		
		// イベント処理リスナー登録
		panel.setComponentListener(this); // AWTコンポーネントイベント
		panel.setKeyListener(this); // 数字キーイベント
		panel.setSoftKeyListener(this); // ファンクションキーイベント
		
		// パネルコンポーネント登録
		Display.setCurrent(panel);
	}
	
	
	// ---------------------------------------------------------
	// ファンクションキーイベント処理 SoftKeyListener
	// ---------------------------------------------------------
	// 利用しないイベント処理は削除すること(プログラムサイズ対策)
	public void softKeyPressed(int key) {
		
		// == ファンクションキーイベント ==
		// F1キー処理
		if (key == Frame.SOFT_KEY_1){
			IApplication.getCurrentApp().terminate(); // iアプリ終了
		}
		// F2キー処理
		if (key == Frame.SOFT_KEY_2) {}
		
	} // softKeyPressed()
	public void softKeyReleased(int key) {}
	
	// ---------------------------------------------------------
	// 数字キーイベント処理 KeyListener
	// ---------------------------------------------------------
	// 利用しないイベント処理は削除すること(プログラムサイズ対策)
	public void keyPressed(Panel p, int key) {
		
		// == 数字キーイベント ==
		if (key == Display.KEY_1) {}
		if (key == Display.KEY_ASTERISK) {} // *キー
		if (key == Display.KEY_POUND) {} // #キー
		
	} // keyPressed()
	public void keyReleased(Panel p, int key) {}
	
	// ---------------------------------------------------------
	// AWTコンポーネントイベント処理 ComponentListener
	// ---------------------------------------------------------
	// 利用しないイベント処理は削除すること(プログラムサイズ対策)
	public void componentAction(Component c, int type, int param) {
		
		// == AWTコンポーネントイベント処理 ==
		
		// ボタンが押されたときの処理
		if( c==b ){
			lv.setText("こんにちは");
		}
		
		// テキストが入力されたときの処理
		if( c==tb ){
			lv.setText(tb.getText());
		}
		
	} // componentAction()
	
} // End of Class

