com.nttdocomo.ui
クラス TextBox

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

public final class TextBox
extends Component
implements Interactable

テキスト入力コンポーネントを定義します。 テキストボックスクラスは、 高レベル API で使用するUI部品の一つで、 テキスト入力のためのコンポーネントです。

テキスト入力コンポーネントでは、 表示行数が1行の場合と2行以上の場合で動作が異なります。

表示行数が 1 行の場合
[DoJa-4.0 (901i) 以降] テキスト文字列に改行文字(単独の "¥n" あるいは "¥r¥n"。 このクラスの記述では以下同様。)が含まれていた場合でも改行は行われず、 改行文字以降も表示可能な範囲で表示されます。 また、テキスト入力コンポーネントの縦幅が変更されても、 表示行数は変更されず、右端で自動改行されることはありません。
表示行数が 2 行の場合
[DoJa-4.0 (901i) 以降] テキスト文字列に改行文字が含まれていた場合、 改行して表示されます(ここでは単独の "¥r" は改行として扱われないことに注意してください)。 また、 テキスト入力コンポーネントの横幅を超える文字列が設定された場合には、 右端で自動改行されます。 なお、FEP において改行を入力した場合、"¥r¥n"として取得されます。

[DoJa-3.0 (505i) 以降]
テキスト文字列には通常の文字列またはXStringの文字列が指定できます。 これらは排他的に動作します。 通常の文字列が設定されている場合にXStringの文字列を設定すると、 表示される文字列はXStringの内容に置き換わります。 このとき、getTextメソッドを呼び出すと、nullが返ります。 逆に、XStringの文字列が設定されている場合に通常の文字列を設定すると、 表示される文字列は通常の文字列の内容に置き換わります。 このとき、getXTextメソッドを呼び出すと、nullが返ります。 XStringの文字列が設定されている場合、編集することはできません。

[DoJa-4.1 (902i) 以降]
テキスト文字列に入力可能な文字数を制限することができます。 文字数を制限した場合、その後のユーザ入力、及び、メソッド呼び出し (setText(String)setText(XString)) によるテキスト文字列の設定では、 制限数を超える文字列を設定することはできません。


フィールドの概要
static int ALPHA
          初期入力モードをアルファベット入力モードにすることを表します (=1)。
static int DISPLAY_ANY
          表示文字列をそのまま表示するモードにすることを表します (=0)。
static int DISPLAY_PASSWORD
           文字列を隠蔽して表示するモード (パスワード入力用の表示モード) にすることを表します (=1)。
static int INPUTSIZE_UNLIMITED [iアプリオプションAPI]
          入力文字数の制限値を無制限にすることを表します (=0)。
static int KANA
          初期入力モードをかな漢字入力モードにすることを表します (=2)。
static int NUMBER
          初期入力モードを数字入力モードにすることを表します (=0)。
 
コンストラクタの概要
TextBox(String text, int columns, int rows, int mode)
           初期文字列と桁数、行数、 表示モードを指定してテキストボックスを生成します。
TextBox(XString xText, int columns, int rows, int mode)
           初期文字列(XString)と桁数、 行数、表示モードを指定してテキストボックスを生成します。
 
メソッドの概要
 String getText()
          テキスト文字列を取得します。
 XString getXText()
           テキスト文字列(XString)を取得します。
 void requestFocus()
          コンポーネントにフォーカスをセットするよう要求します。
 void setEditable(boolean b)
          テキスト文字列を編集可能にするかどうかを設定します。
 void setEnabled(boolean b)
          コンポーネントを有効状態(ユーザ操作可能な状態)にしたり 無効状態(ユーザ操作不能な状態)にしたりします。
 void setInputMode(int mode)
           テキスト文字列の初期入力モードを設定します。
 void setInputSize(int inputSize) [iアプリオプションAPI]
          テキスト文字列に入力可能な文字数を制限します。
 void setText(String text)
          テキスト文字列を設定します。
 void setText(XString xText)
           テキスト文字列を 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
 

フィールドの詳細

NUMBER

public static final int NUMBER
初期入力モードを数字入力モードにすることを表します (=0)。

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

ALPHA

public static final int ALPHA
初期入力モードをアルファベット入力モードにすることを表します (=1)。

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

KANA

public static final int KANA
初期入力モードをかな漢字入力モードにすることを表します (=2)。

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

DISPLAY_ANY

public static final int DISPLAY_ANY
表示文字列をそのまま表示するモードにすることを表します (=0)。

この表示モードに設定したテキストボックスのデフォルトの初期入力モードは、 かな漢字入力モード です。

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

DISPLAY_PASSWORD

public static final int DISPLAY_PASSWORD

文字列を隠蔽して表示するモード (パスワード入力用の表示モード) にすることを表します (=1)。

[DoJa-4.0 (901i) 以降] この表示モードに設定したテキストボックスのデフォルトの初期入力モードは、 数字入力モードです。 また、その時に入力可能な文字種は、 ブラウザにおけるパスワード入力用テキストボックスと同様です。

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

INPUTSIZE_UNLIMITED

public static final int INPUTSIZE_UNLIMITED [iアプリオプションAPI]
入力文字数の制限値を無制限にすることを表します (=0)。

導入されたバージョン:
DoJa-4.1 (902i)
関連項目:
定数フィールド値
コンストラクタの詳細

TextBox

public TextBox(String text,
               int columns,
               int rows,
               int mode)

初期文字列と桁数、行数、 表示モードを指定してテキストボックスを生成します。

生成時には、表示可能で、ユーザ操作可能になっています。 また、生成時の初期入力モードは、 引数に指定する表示モードにより異なります。 詳細は、各表示モード (DISPLAY_ANYDISPLAY_PASSWORD) の説明を参照して下さい。

表示可能、表示不能を設定するには、Component.setVisible(boolean) メソッドを使用します。 ユーザ操作可能、ユーザ操作不能を設定するには、 setEnabled(boolean) メソッドを使用します。 初期入力モードを切り替えるには、 setInputMode(int) メソッドを使用します。

パラメータ:
text - 初期文字列を指定します。null が指定された場合、 空文字列("")が設定されます。
columns - 桁数を指定します。桁数は、半角文字数で数えます。
rows - 行数を指定します。
mode - 文字列の表示モードを指定します。 DISPLAY_ANY または、DISPLAY_PASSWORD を指定します。
例外:
IllegalArgumentException - 引数 columns、rows に 0 未満の値が指定された場合に発生します。
IllegalArgumentException - 引数 mode に不正な値が指定された場合に発生します。

TextBox

public TextBox(XString xText,
               int columns,
               int rows,
               int mode)
初期文字列(XString)と桁数、 行数、表示モードを指定してテキストボックスを生成します。 生成時には、表示可能で、編集不能になっています。 表示可能、表示不能を設定するには、Component.setVisible(boolean) メソッドを使用します。 XString の文字列が設定されている限り、編集可能にはできません。

パラメータ:
xText - 初期文字列をXStringで指定します。 null が指定された場合、 表示文字列には空文字("")が設定されます。
columns - 桁数を指定します。桁数は、半角文字数で数えます。
rows - 行数を指定します。
mode - 文字列の表示モードを指定します。 DISPLAY_ANY または、DISPLAY_PASSWORD を指定します。
例外:
IllegalArgumentException - 引数 columns、rows に 0 未満の値が指定された場合に発生します。
IllegalArgumentException - 引数 mode に不正な値が指定された場合に発生します。
導入されたバージョン:
DoJa-3.0 (505i)
メソッドの詳細

setText

public void setText(String text)
テキスト文字列を設定します。 編集不能になっている場合でも、 このメソッドによりテキスト文字列が設定できます。 なお、パスワード入力モードになっている場合は、 このメソッドにより文字列を設定された場合、 表示される文字列は、エコーキャラクタ(*など)が設定文字分だけ表示されます (内部では設定された文字列を保持しています)。 文字列を設定すると、コンポーネントイベント (ComponentListener.TEXT_CHANGED) が発生します。


[DoJa-3.0 (505i) 以降]
不可視、可視に関わらず、このメソッドの呼び出しにより、 テキスト文字列が設定されます。 ただし、イベントは可視の場合だけ発生します。 また、ユーザ操作可能/不能に関わらず、このメソッドは機能します。

[DoJa-4.1 (902i) 以降]
テキスト文字列に入力可能な文字数が制限されている場合、 引数 text に指定する文字列の文字数は制限値以内でなければなりません。 入力可能な文字数の制限値を超える文字列を指定した場合は、 例外 UIException(ILLEGAL_STATE) が発生します。

パラメータ:
text - テキスト文字列を指定します。 null が指定された場合は空文字列("")が設定されます。
例外:
UIException - [DoJa-4.1 (902i) 以降] 引数 text に指定された文字列の文字数が、 入力可能な文字数の制限値より大きい場合に発生します (ILLEGAL_STATE)。

setText

public void setText(XString xText)
テキスト文字列を XString の文字列で設定します。 編集不能になっている場合でも、 このメソッドによりテキスト文字列が設定できます。 なお、パスワード入力モードになっている場合は、 このメソッドにより文字列を設定された場合、 表示される文字列は、エコーキャラクタ(*など)が設定文字分だけ表示されます (内部では設定された文字列を保持しています)。 文字列を設定すると、コンポーネントイベント (ComponentListener.TEXT_CHANGED) が発生します。

このメソッドが呼び出されると、引数の値に関係なく、 自動的に編集不能状態に変更されます。 その後に setText(String) を呼び出して通常文字列を設定しても、 編集不能状態のままです。

不可視、可視に関わらず、このメソッドの呼び出しにより、 テキスト文字列が設定されます。 ただし、イベントは可視の場合だけ発生します。 また、ユーザ操作可能/不能に関わらず、このメソッドは機能します。

[DoJa-4.1 (902i) 以降]
テキスト文字列に入力可能な文字数が制限されている場合、 引数 xText に指定する文字列の文字数は制限値以内でなければなりません。 入力可能な文字数の制限値を超える文字列を指定した場合は、 例外 UIException(ILLEGAL_STATE) が発生します。

パラメータ:
xText - XString のテキスト文字列を指定します。 null が指定された場合、 表示文字列には空文字列("")が設定されます。
例外:
UIException - [DoJa-4.1 (902i) 以降] 引数 xText に指定された文字列の文字数が、 入力可能な文字数の制限値より大きい場合に発生します (ILLEGAL_STATE)。
導入されたバージョン:
DoJa-3.0 (505i)

getText

public String getText()
テキスト文字列を取得します。

戻り値:
テキスト文字列を返します。
[DoJa-3.0 (505i) 以降]
テキスト文字列が XString である場合、 null が返ります。

getXText

public XString getXText()
テキスト文字列(XString)を取得します。
コンストラクタTextBox(XString, int, int, int) または