UJMLサンプル016:コンポーネントの利用(リストボックス)(2006/02/03)
リストボックスもSDKサンプルの中で提供されているため簡単に使うことができる。SDKサンプルのcomponentsフォルダにはlistbox.ujmsという「ステートマシーン」のファイルがある。これを活用してリストボックスを実装するのが今回のUJMLサンプルだ。
極めて簡単にリストボックスを実装できた。listbox.ujmsは約400行あるが、プログラマーはそれを実装せずに済む、とてもうれしい、心地よい。
ListBox.initの引数の数が多いので覚えるのが面倒だが使っていれば何とかなる程度だし、公開されているメソッドの名前も"addItem"、"selectItem"も極めて業界標準というか良く見かける名前でうれしい。今回はリストボックス表示だけだが、リストのアイテムを選択した時の動作等は今後どこかで取り上げたい。
ちなみに、サンプルでリストしている内容は、SDKサンプルのstandaloneフォルダ内のものの一覧だ。listbox.ujmsは一番上のcomponentsフォルダに入っている。SDKサンプルで体験できるメインのUJMLはここにあるapprunner.ujmlだ。このソースはlistboxを使う上でもとても勉強になるので一度目を通すと良いだろう。
動作サンプル
※動作にはJAVA Runtimeが必要
---コード
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.5//EN"
"http://www.uievolution.com/dtd/ujml-1.5.dtd" [
]>
<!-- http://uiengineda.blogs.com -->
<ujml>
<application>
<state-machines>
<include file="components/listbox.ujms" state-machine="ListBox" />
</state-machines>
<script>
// リストボックスの初期化 位置とかサイズとかフォントとか
ListBox.init(
0,<!-- 位置 X -->
0,<!-- 位置 Y -->
_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;) / 2,<!-- 幅 -->
_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;) / 2,<!-- 高さ -->
&_COLOR_SILVER;,<!-- 枠線の色 -->
&_COLOR_DARKGRAY;,<!-- 背景の色 -->
&_COLOR_WHITE;,<!-- 文字の色 -->
&_FONT_SIZE_SMALL;,<!-- 文字サイズ -->
&_FONT_STYLE_PLAIN;,<!-- 文字のスタイル -->
&_FONT_FACE_SYSTEM;<!-- フォント種類 -->
);
// リストボックスにアイテムを追加(リストの中身はSDKサンプルのstandalone内のもの)
ListBox.addItem("+ components");
ListBox.addItem("+ helloworld");
ListBox.addItem("+ insideujml");
ListBox.addItem("+ scripting");
ListBox.addItem("+ statetransitions");
ListBox.addItem("+ visualelements");
ListBox.addItem("+ weather");
ListBox.addItem("- appdata.xml");
ListBox.addItem("- apprunner.ujml");
ListBox.addItem("- data.ujms");
ListBox.addItem("- data.xsl");
ListBox.addItem("- ujml-1.5.dtd");
// 先頭を選択した状態にする。
ListBox.selectItem(0);
// リストボックスを表示する。
ListBox.show();
</script>
</application>
</ujml>
コメント