■Java ME でのFormクラス
Canvasクラスの学習が一段落したので
今度はFormクラスについて学習
だいぶ違う。
・Canvasクラス … 自前で描画、キー入力を制御する。
ゲーム向き。
・Formクラス … Windowsのようにコントロールを配置して制御する。
ツール向き?
Item … 子コントロールの事。
Formの中にItemは置けるが、Canvasの中には置けない。
StringItem … Labelコントロール(VC6のスタティックテキストみたいなの)
ChoiceGroup … ラジオボタンのリスト
CustomItem … 汎用コントロール(継承して自前描画)
DateField … 日付コントロール
Gauge … ゲージ(プログレスバーみたいなの)
ImageItem … ピクチャボックス
Spacer … スペーサー(空白をあけるためのアイテム)
TextField … テキストボックス
・コントロールの種類はとても少ないが
Java ME独特のコントロールもある。
・コントロールはHTMLのように行単位で配置していく。
(Javaユーザなら普通)
座標指定では置けない。
setLayout関数で配置方法を指定するのだが、
MIDP2.0では、必ず LAYOUT_2 を指定する
・パネルやグループボックスといった概念がないので
正直「レイアウトどうせいっちゅうねん」と
ツッコミを入れたくなった。
HTMLのようなテーブルすらない。
・上記にないコントロールを自作したい場合は
「CustomItem」を継承して作成する
(CustomItemのサブクラスを作成する)
・上記のコントロールには背景色の指定もできない
背景色を指定したければ
画像を用意するか
「CustomItem」を継承して自作コントロールにする
・Windowsアプリケーションでいうとこの「フォーカス」は
ここでは「トラバース」という言葉になっている
トラバースは、CustomItemでのみ使用可能。
・Windowsアプリケーション(.NET)でいうとこの
「コントロールのイベント」は
Commandになる。
Commandを作成→Itemに設定
CommandListenerでユーザの入力を検知する
(Javaユーザなら普通)
・テキストボックスの動作に注意。
実機では、テキスト入力画面に切り替わるが
エミュレータではそのまま入力できる
・Formに背景は設定できない?
[0回]
PR