iウィジェットを作ってみよう!
ミニアプリの作成
			現在時刻と次の電車の時刻、その次の電車の時刻を表示します。
			デフォルト表示するデータはフルアプリで最後に表示された路線です。
			キー操作で別の路線の時刻を表示します。
			ソースコードはこちらからダウンロードできます。
			
MainCanvasクラスとMainCanvas関数
			ミニアプリ起動時に最初に呼ばれるメイン関数です。
			
			
				class MainCanvas extends Canvas {
				    byte [][][][] data;  //時刻データ
				    String [] line;      //路線名データ
				    byte lnum;           //選択している路線
				    ShortTimer sTimer;
				
				    MainCanvas() {
				        setSoftLabel(SOFT_KEY_1, "フルアプリ");
				        setSoftLabel(SOFT_KEY_2, "終了");
				        setBackground(Graphics.getColorOfName(Graphics.WHITE));
				        line = new String[10];           //10路線
				        data = new byte[10][22][10][3];  //10路線*22時間*10個*3曜日
				        loadData();
				    }
			
paint関数
			ミニアプリの画面表示時に呼ばれます。
			1秒に1回画面を更新して、最新の時刻に応じた時刻表を表示しています。
			
			
				public void paint(Graphics g) {
				    Font titleFont = Font.getFont(Font.FACE_SYSTEM,32);
				    // Calendarクラス型の変数宣言
				    Calendar w_calendar;
				    // カレンダーのインスタンスを取得
				    w_calendar=Calendar.getInstance();
				    // カレンダーに現在の時刻を設定
				    w_calendar.setTime(new Date());
				・・・
				    //最初の描画の際にタイマーを作成する
				    if(sTimer == null){
				        //間隔1秒間、繰り返し有りでタイマーを初期化する
				        sTimer = ShortTimer.getShortTimer(this,1,1000,true);
				        //タイマーをスタート
				        sTimer.start();
				    }
				    g.lock();
				・・・
				    g.unlock(true);
				}
			
processEvent関数
			キー入力に対してどのような処理を行うか記述します。
			
			
				public void processEvent(int type, int param) {
				    if(type == Display.TIMER_EXPIRED_EVENT){
				        //画面を再描画する
				        repaint();
				    } else if (type == Display.KEY_RELEASED_EVENT) {
				        if (param == Display.KEY_SOFT1) {
				            /* フルアプリに切り替えます */
				            (StarApplication.getThisStarApplication()).changeAppType(StarApplication.STAR_TYPE_FULLAPPLI, null);
				        }
				        if (param == Display.KEY_SOFT2) {
				            (StarApplication.getThisStarApplication()).terminate();
				        }
				    }
				}
			
loadData関数
			データの入力は行わないので読み込み関数のみ作ります。
			
			
				//時刻表データの読み込み
				public void loadData() {
			
ADF設定
			ほとんどデフォルトのままですが以下の2箇所を変更します。
			フルアプリと違いDrawAreaは使用せずPalletを使用します。
			ミニアプリの見た目を変える場合Palletのサイズに続けて値を設定するのですが今回は使用しないので「::::」としておきます。
			
| SPsize | 10240 | 
|---|---|
| Pallet | 320x240:::: | 
実行結果

iウィジェットの連携

iウィジェットの機能でフルアプリ、ミニアプリ、縮小表示、アイコンが切り替わります。
 
				 
					 
				 
				