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]
項目の文字列には通常の文字列または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] 引数の配列のサイズが端末がサポートする最大項目数を超えている場合に発生します(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

append

public void append(String item)
リストの末尾に項目を追加します。 ユーザ操作可能/不能に関わらず、このメソッドは機能します。

パラメータ:
item - 追加する項目を指定します。
例外:
NullPointerException - 引数 item に null が指定された場合に発生します。
UIException - [DoJa-3.0] 項目数が端末がサポートする最大項目数に既に達している場合に発生します(NO_RESOURCES)。

append

public void append(XString xItem)
XStringの文字列を指定して、リストの末尾に項目を追加します。 ユーザ操作可能/不能に関わらず、このメソッドは機能します。

パラメータ:
xItem - 追加する項目を指定します。
例外:
NullPointerException - 引数 xItem に null が指定された場合に発生します。
UIException - 項目数が端末がサポートする最大項目数に 既に達している場合に発生します(NO_RESOURCES)。
導入されたバージョン:
DoJa-3.0

removeAll

public void removeAll()
リストの全ての項目を削除します。 ユーザ操作可能/不能に関わらず、このメソッドは機能します。


getItemCount

public int getItemCount()
リストの項目の数を取得します。

戻り値:
リストの項目の数を返します。

getItem

public String getItem(int index)
リストの特定の位置の項目を取得します。

パラメータ:
index - 取得する項目の位置を指定します。
戻り値:
指定された位置の項目を返します。
[DoJa-3.0]
XStringの文字列が設定されている項目に対して呼び出すと、 nullが返ります。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値または項目数以上の値が指定された場合に発生します。

getXItem

public XString getXItem(int index)
リストの特定の位置の項目(XString)を取得します。

パラメータ:
index - 取得する項目の位置を指定します。
戻り値:
指定された位置の項目(XString)を返します。 通常文字列が設定されている項目に対して呼び出すと、 nullが返ります。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値または項目数以上の値が指定された場合に発生します。

select

public void select(int index)
リストの特定の位置の項目を選択します。その項目が表示されていない位置にある場合は、その項目 が表示される位置までスクロールします。 項目を選択すると、リストボックスのタイプに応じてコンポーネントイベント(ComponentListener.SELECTION_CHANGED)が発生します。

不可視、可視に関わらず、このメソッドの呼び出しにより、選択状態は変更されます。ただし、イベントは、 可視の場合だけ発生します。

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

パラメータ:
index - 選択する項目の位置を指定します。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値または項目数以上の値が指定された場合に発生します。

deselect

public void deselect(int index)
リストの特定の位置の項目を選択解除します。 項目を選択解除すると、リストボックスのタイプに応じてコンポーネントイベント(ComponentListener.SELECTION_CHANGED)が発生します。

不可視、可視に関わらず、このメソッドの呼び出しにより、選択状態は変更されます。ただし、イベントは、 可視の場合だけ発生します。

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

パラメータ:
index - 選択解除する項目の位置を指定します。
例外:
UIException - [DoJa-2.0] CHOICE タイプのリストボックスに対して呼び出された場合に発生します(ILLEGAL_STATE)。
ArrayIndexOutOfBoundsException - 引数 index に負の値または項目数以上の値が指定された場合に発生します。

isIndexSelected

public boolean isIndexSelected(int index)
リストの特定の位置の項目が選択されているかどうか調べます。

パラメータ:
index - 選択されているかどうか調べる項目の位置を指定します。
戻り値:
項目が選択されている場合は true を、そうでない場合は false を返します。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値または項目数以上の値が指定された場合に発生します。

getSelectedIndex

public int getSelectedIndex()
選択されている項目の位置を返します。 複数選択されている場合は、位置の値が最も小さい項目の位置を返します。

戻り値:
選択されている項目の位置を返します。 選択されていない場合は、-1 を返します。

setEnabled

public void setEnabled(boolean b)
インタフェース Interactable の記述:
コンポーネントを有効状態(ユーザ操作可能な状態)にしたり 無効状態(ユーザ操作不能な状態)にしたりします。 コンポーネントが可視、不可視に関わらずこのメソッドを発行することができ、 コンポーネントの状態を変更することができます。 コンポーネント生成時は有効状態です。

定義:
インタフェース Interactable 内の setEnabled
パラメータ:
b - 有効状態にする場合は true を、無効状態にする場合は false を指定します。

requestFocus

public void requestFocus()
インタフェース Interactable の記述:
コンポーネントにフォーカスをセットするよう要求します。 コンポーネントをパネルに追加する以前に発行された要求は無視されます。 また、コンポーネントが不可視の場合、無効状態(ユーザ操作不能な状態)の場合もフォーカスはセットされません。

定義:
インタフェース Interactable 内の requestFocus


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。