Java初心者による携帯アプリ作成講座その5::画面レイアウトを整える

By uchida - 08/11/20 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

今回はフォームのレイアウトについて解説します。
パネルクラスでレイアウトの調整を行うには大きく分けて2通りあります。
1つ目はHTMLLayoutクラスを使用してHTMLのコードと同じような感覚でレイアウトを行う方法と、
画面の左上から(y,y),(0,0)としてピクセル単位でフォーム1つ1つをセットする方法があります。
今回はパネルクラスで簡単にレイアウトの変更ができるHTMLレイアウトに付いて解説します。
 
※HTMLレイアウトは機種依存します。
使用可能な機種はNTTドコモ504シリーズからの環境、DoJa2.0以降となります。

 


HTMLLayout
まずHTMLレイアウトを使用した方法の解説をします。
HTMLレイアウトとはクラスであり、パネルクラスに実装します。
コーディングを行う際、<br>タグや<p>タグを配置するのに、このクラスのメソッドを使用します。
 
メソッドの概要

begin(java.lang.String tag);  タグの開始を指定する。
br();  改行を行う
end();  タグの終了を指定する。

 
サンプル

    // 変数宣言
    IApplication iapp;
    private Label        w_label;
    private TextBox      w_text;
    private Button       w_button;
    private Dialog       w_dialog;
    private HTMLLayout   w_layout;     //<---- 追加

    public MainPanel(IApplication ap) {
        // アクションを退避
        this.iapp = ap;
        
        // オブジェクトの生成
        w_label = new Label("文字を入力:");
        w_text = new TextBox("", 20, 7, TextBox.DISPLAY_ANY);
        w_button = new Button("クリック");
        w_dialog = new Dialog(Dialog.DIALOG_INFO,"INFO");
        w_layout = new HTMLLayout();       //<---- 追加
        
        // 画面にオブジェクトをセット
        this.setLayoutManager(w_layout);     //<---- 追加
        w_layout.begin(HTMLLayout.CENTER);  //<---- 追加
        this.add(w_label);
        w_layout.br();                    //<---- 追加
        this.add(w_text);
        w_layout.br();                    //<---- 追加
        this.add(w_button);
        w_layout.br();                    //<---- 追加
        w_layout.end();                   //<---- 追加

        // タイトルセット
        setTitle("Sample Program");

        // リスナーをインスタンス生成
        setSoftKeyListener(this);
        setComponentListener(this);
    }

 
解説
プログラムは前回のコードの差分で表示してあります。
オブジェクトの生成、パネルへの実装は他と変わりはありません。
HTMLレイアウト実装後、begin()を使用に中央寄せしています。
また、ご覧の通り各フィールドをセットする時にbr()を実行し改行を行っています。
begin()では以下のタグを使用できます。

HTMLLayout.CENTER -----><center>
HTMLLayout.LEFT -----> <left>
HTMLLayout.RIGHT   -----><right>
HTMLLayout.P   -----><p>

実行結果



 
次回は携帯端末にデータを保存する方法をご紹介します。