今回はフォームのレイアウトについて解説します。
パネルクラスでレイアウトの調整を行うには大きく分けて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>
実行結果
次回は携帯端末にデータを保存する方法をご紹介します。







