com.nttdocomo.ui
クラス ListBox

Object
  拡張com.nttdocomo.ui.Component
      拡張com.nttdocomo.ui.ListBox
すべての実装インタフェース:
Interactable

public final class ListBox
extends Component
implements Interactable

リストボックスコンポーネント クラスです。 高レベル API で使用するUI部品の一つで、選択リスト、チェックボックス、ラジオボタンを 表すコンポーネントです。

コンストラクタの引数でリストのタイプを指定することにより、以下のリストが作成できます。

形状と選択の種類の観点からまとめると以下のようになります。

形状選択
単一選択複数選択
ポップアップ形式オプションメニュー
(CHOICE)
なし
フィールド形式リストシングル選択リスト
(SINGLE_SELECT)
複数選択リスト
(MULTIPLE_SELECT)
番号つきリスト番号つきリスト
(NUMBERED_LIST)
なし
チェックボックスなしチェックボックスリスト
(CHECK_BOX)
ラジオボタンラジオボタンリスト
(RADIO_BUTTON)
なし

オプションメニューは、CHTMLのSELECTタグでサイズ指定をしない場合のメニューに相当します。 通常は、選択されている項目が表示されており、そのリストコンポーネントが選択されると、 リスト中の項目が展開されて表示されます。

  +-----------+          +-----------+
  | item1     |  ---->   |item1      |
  +-----------+  <----   |item2      |
                         |item3      |
                         +-----------+
 
展開されたときのメニューの高さは格納されている項目が表示できる高さとスクリーンの高さのうちの 小さい方のサイズになります。したがって、項目が多い場合、展開表示されて1度に表示する項目の数は 制限されますが、この表示中でスクロールすることにより隠れていた項目を表示することができます。 また、展開されたときのメニューの幅は機種依存です。

フィールド形式のリストは、ボックス型のスクロールドリストです。サイズ指定がない場合、 この形式のリストは、リストの幅がパネルの幅と等しくなり、高さは、登録されている項目数が表示できる高さと スクリーンの高さのうちの小さい方になります。なお、行数が指定されている場合は、高さは、その行数を表示できる高さと スクリーンの高さのうちの小さい方になります。行数に0が指定されている場合は、1が指定されていると見なします。 項目数が多く、すべてを表示できない場合は、スクロールすることにより、隠れていた項目を表示することができます。 表示例を以下に示します。

  +------------+    +------------+    +------------+     +------------+    
  |item1       |    |1. item1    |    |○ item1    |     |□ item1    |
  |item2       |    |2. item2    |    |○ item2    |     |■ item2    |
  |item3       |    |3. item3    |    |◎ item3    |     |□ item3    |
  |item4       |    |4. item4    |    |○ item4    |     |□ item4    |
  |item5       |    |5. item5    |    |○ item5    |     |■ item5    |
  +------------+    +------------+    +------------+     +------------+
 

番号つきリストは、シングル選択リストの特殊なもので、先頭から9個が数字キーで選択できます。 先頭が、1キー、2番目が、2キーと順に対応づけられ、9番目が9キーに対応します。10番目以降の 項目にはキーが対応づけられません。10番目以降は、シングル選択リストと同じ操作で選択します。
[DoJa-1.0 のみ]
設定する項目の文字列がコンポーネントの幅より長い場合の振舞(切り縮めるか折り返すかなど)は、 機種依存です。
[DoJa-2.0 以降]
設定する項目の文字列は1行です。 設定する項目の文字列がコンポーネントの幅より長い場合は表示できない部分を切り捨てて表示します。

項目数が多く、指定されたサイズですべての項目が表示できない場合は、項目をスクロールして表示します。

リストのインデックスは、先頭の項目を指定する場合に0を、二番目の項目を指定する場合に1を、 というように指定します。

[DoJa-3.0 (505i) 以降]
項目の文字列には通常の文字列またはXStringの文字列が指定できます。 1つの項目に対しては通常の文字列とXStringの文字列は排他的に使用されますが、 1つのListBox中に通常の文字列の項目とXStringの文字列の項目が混在していてもかまいません。 XStringの文字列が設定されている項目に対してgetItemメソッドを呼び出すと、 nullが返ります。 逆に、通常文字列が設定されている項目に対してgetXItemメソッドを呼び出すと、 nullが返ります。


フィールドの概要
static int CHECK_BOX
          項目のそれぞれについて選択/非選択を指定できるチェックボックスです (=2)。
static int CHOICE
          オプションメニューです (=5)。
static int MULTIPLE_SELECT
          項目を複数選択できるリスト(複数選択リスト)です (=4)。
static int NUMBERED_LIST
          項目に番号が割り当てられていて、番号に対応するキーを押すことで直接その項目を選択できる番号付きリストです (=3)。
static int RADIO_BUTTON
          複数の項目から一つだけを排他的に選択できるラジオボタンです (=1)。
static int SINGLE_SELECT
          項目を一つだけ選択できるリスト(シングル選択リスト)です (=0)。
 
コンストラクタの概要
ListBox(int type)
          項目を持たない空のリストボックスを生成します。
ListBox(int type, int rows)
          項目を持たない空のリストボックスを生成します。
 
メソッドの概要
 void append(String item)
          リストの末尾に項目を追加します。
 void append(XString xItem)
           XStringの文字列を指定して、リストの末尾に項目を追加します。
 void deselect(int index)
          リストの特定の位置の項目を選択解除します。
 String getItem(int index)
          リストの特定の位置の項目を取得します。
 int getItemCount()
          リストの項目の数を取得します。
 int getSelectedIndex()
          選択されている項目の位置を返します。
 XString getXItem(int index)
           リストの特定の位置の項目(XString)を取得します。
 boolean isIndexSelected(int index)
          リストの特定の位置の項目が選択されているかどうか調べます。
 void removeAll()
          リストの全ての項目を削除します。
 void requestFocus()
          コンポーネントにフォーカスをセットするよう要求します。
 void select(int index)
          リストの特定の位置の項目を選択します。
 void setEnabled(boolean b)
          コンポーネントを有効状態(ユーザ操作可能な状態)にしたり 無効状態(ユーザ操作不能な状態)にしたりします。
 void setItems(String[] items)
          リストの項目をまとめて配列で設定します。
 void setItems(XString[] xItems)
           XStringの文字列を指定して、リストの項目をまとめて配列で設定します。
 
クラス com.nttdocomo.ui.Component から継承したメソッド
getHeight, getWidth, getX, getY, setBackground, setFont, setForeground, setLocation, setSize, setVisible
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

SINGLE_SELECT

public static final int SINGLE_SELECT
項目を一つだけ選択できるリスト(シングル選択リスト)です (=0)。

関連項目:
定数フィールド値

RADIO_BUTTON

public static final int RADIO_BUTTON
複数の項目から一つだけを排他的に選択できるラジオボタンです (=1)。

関連項目:
定数フィールド値

CHECK_BOX

public static final int CHECK_BOX
項目のそれぞれについて選択/非選択を指定できるチェックボックスです (=2)。

関連項目:
定数フィールド値

NUMBERED_LIST

public static final int NUMBERED_LIST
項目に番号が割り当てられていて、番号に対応するキーを押すことで直接その項目を選択できる番号付きリストです (=3)。

関連項目:
定数フィールド値

MULTIPLE_SELECT

public static final int MULTIPLE_SELECT
項目を複数選択できるリスト(複数選択リスト)です (=4)。

関連項目:
定数フィールド値

CHOICE

public static final int CHOICE
オプションメニューです (=5)。

関連項目:
定数フィールド値
コンストラクタの詳細

ListBox

public ListBox(int type)
項目を持たない空のリストボックスを生成します。 生成時は、表示可能で、ユーザ操作可能になっています。 表示可能、表示不能を設定するには、Component.setVisible(boolean)メソッドを使用します。 ユーザ操作可能、ユーザ操作不能を設定するには、setEnabled(boolean)メソッドを使用します。

パラメータ:
type - リストボックスのタイプを指定します。type には、 SINGLE_SELECTRADIO_BUTTONCHECK_BOXNUMBERED_LISTMULTIPLE_SELECTCHOICE のいずれかが指定できます。それ以外の値を指定した場合は、例外が発生します。
例外:
IllegalArgumentException - 引数 type に不正な値が指定された場合に発生します。

ListBox

public ListBox(int type,
               int rows)
項目を持たない空のリストボックスを生成します。 生成時は、表示可能で、ユーザ操作可能になっています。 表示可能、表示不能を設定するには、Component.setVisible(boolean)メソッドを使用します。 ユーザ操作可能、ユーザ操作不能を設定するには、setEnabled(boolean)メソッドを使用します。

パラメータ:
type - リストボックスのタイプを指定します。type には、 SINGLE_SELECTRADIO_BUTTONCHECK_BOXNUMBERED_LISTMULTIPLE_SELECTCHOICE のいずれかが指定できます。それ以外の値を指定した場合は、例外が発生します。
rows - 表示する行数を指定します。このパラメータは、タイプが CHOICE以外の場合に有効です。 0が指定された場合は、1が指定されたものとして振舞います。
例外:
IllegalArgumentException - 引数 type に不正な値が指定された場合に発生します。
IllegalArgumentException - 引数 rows に 0 未満の値が指定された場合に発生します。
メソッドの詳細

setItems

public void setItems(String[] items)
リストの項目をまとめて配列で設定します。 それまでの項目は全て削除され、指定された配列の項目が全て設定されます。

引数に長さ 0 の配列が渡された場合、removeAll() メソッドと同じ動作となります。

ユーザ操作可能/不能に関わらず、このメソッドは機能します。

パラメータ:
items - 追加する項目を指定します。 null が指定された場合は NullPointerException が発生します。
例外:
NullPointerException - 引数の items に nullが指定された場合、 引数 items の要素に null が指定された場合に発生します。
UIException - [DoJa-3.0 (505i) 以降] 引数の配列のサイズが端末がサポートする最大項目数を超えている場合に発生します(NO_RESOURCES)。

setItems

public void setItems(XString[] xItems)
XStringの文字列を指定して、リストの項目をまとめて配列で設定します。 それまでの項目は全て削除され、指定された配列の項目が全て設定されます。

引数に長さ 0 の配列が渡された場合、 removeAll() メソッドと同じ動作となります。

ユーザ操作可能/不能に関わらず、このメソッドは機能します。

パラメータ:
xItems - 追加する項目を指定します。 null が指定された場合は NullPointerException が発生します。
例外:
NullPointerException - 引数の xItems に nullが指定された場合、 引数 xItems の要素に null が指定された場合に発生します。
UIException - 引数の配列のサイズが端末が サポートする最大項目数を超えている場合に発生します (NO_RESOURCES)。
導入されたバージョン:
DoJa-3.0 (505i)

append