はじめに
RIAは何よりも「リッチなGUI」を重視します。Pivotも例外ではありません。SwingよりもさらにリッチなGUIをPivotは提供します。Pivotというフレームワークを理解する上で、「こんなにもいろいろなコンポーネントが用意されているんだ」と知ることは重要でしょう。そこで今回は、Pivotのコンポーネントを紙面が許す限りたくさん紹介していくことにしましょう。
対象読者
- Javaで手ごろなフレームワークを探している技術者。
- 最近のフレームワークをごくざっと理解しておきたい方。
- Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ。
各種のボタン類
まずは、ボタン関係からです。既にPushButtonやCheckbox、RadioButtonといった基本的なものは登場しましたが、この他にもボタン類が用意されています。まず、トグルボタン。これはクリックしてON/OFFするボタンです。実はこれ、普通のPushButtonなのです。これに「toggleButton」という属性を用意することでトグルボタンにすることができます。
Webの世界ではおなじみのリンクも、ボタンとして用意されています。「LinkButton」というものです。これは表示がリンクになっているだけで、あくまでボタンですから、クリック時の処理などもButtonPressListenerを使って組み込みます。
また、クリックするとポップアップメニューが現れる「リストボタン」というものも用意されています。これは「ListButton」というもので、メニューとして表示される項目を「listData」というプロパティで用意します。以下に簡単な利用例を挙げておきます。
<PushButton buttonData="Toggle" toggleButton="true"/> <LinkButton buttonData="Link" /> <ListButton listData="['Windows','Mac OS X','Linux','Android']" selectedIndex="0"/>
数値の入力・表示用コンポーネント
Webでは数値を入力するために特化したGUIがありません。一般のアプリケーションでは、スライダーなど数値を分かりやすく自然に入力したり表示したりするためのインターフェイスが多数用意されています。そうしたものもPivotには一通り用意されています。
マウスでアナログ的に数値を入力するスライダーは「Slider」として用意されています。「range」というプロパティがあり、start、endといった値を用意することで範囲を指定できます。
上下の小さな矢印で値を増減させるスピナーは「Spinner」として用意されています。「spinnerData」というプロパティに、表示する値を配列で用意します。また「selectedIndex」により、現在、選択されているインデックス番号を取得できます。
全体の進行状況をアナログ的に表示するプログレスバーは「Meter」として用意されています。「percentage」プロパティにより、全体の進行状況を0~1の実数で指定することができます。
この他、最近よく見る、現在何かの処理を実行中であることを示すインジケーター(円形に配置されたバーがぐるぐるアニメーションするもの)も「ActivityIndicator」として用意されています。これは「active」プロパティをtrueにすることで、処理中を示すアニメーションが表示されます。
<Slider range="{start:0, end:100}" value="50" /> <Meter preferredWidth="200" preferredHeight="16" percentage="0.3" /> <Spinner spinnerData="['Abc','Def','Ghi']" preferredWidth="60" selectedIndex="0"/> <Spinner spinnerData="[1,2,3,4,5,6,7,8,9,10]" preferredWidth="40" selectedIndex="0" /> <ActivityIndicator preferredWidth="50" preferredHeight="50" active="true" />