Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

javax.microedition.lcdui
クラス TextField

java.lang.Object
  上位を拡張 javax.microedition.lcdui.Item
      上位を拡張 javax.microedition.lcdui.TextField

public class TextField
extends Item

このクラスは Form に置くことができる編集可能なテキスト・コンポーネントです。 初期値として任意のテキストを設定することができます。

TextField には格納できる文字数の最大サイズが存在します。 最大サイズはオブジェクトに常に格納することができるキャラクタ数の最大値(キャパシティ)です。 TextField のオブジェクトを構築する際に設定した最大サイズは、内容を編集することができる TextField の場合、アプリケーションがメソッドを呼び出す場合だけではなく、ユーザーがテキストを変更する際にもこのリミットが適用されます。 最大サイズは、格納できるキャラクタ数の最大値であり、いかなる場合もディスプレイに表示できるキャラクタ数とは無関係です。 表示可能なキャラクタ数および表示方法はデバイスの表示能力およびカラム数と行数によって決定されます。

実装は最大サイズに上限を設けることがあり、アプリケーションが要求した最大サイズよりも小さな最大サイズが設定されることがあります。 実際に割り当てられた最大サイズは getMaxSize() メソッドによって取得することができます。 注意深く記述されたアプリケーションは、この値を要求した値と比較し、それらが異なるケースの処理を考慮すべきです。

入力制約

TextField は、TextBox オブジェクトと入力制約の概念を共有しています。 個々の制約は、ユーザーや様々なメソッドで入力するテキストをアプリケーションが必要に応じて制限することを可能にします。 実装はアプリケーションによって要求されたようにユーザーの入力を制限することを求められます。 例えば、アプリケーションが TextField 上の NUMERIC 制約を要求している場合、実装は数字の入力のみを許可します。

テキスト・オブジェクトの実際の内容は設定および変更され、TextBox および TextField API を通じてアプリケーションに報告されます。 実装がテキスト・オブジェクトの入力制約設定に応じた特別な書式を提供する際には、表示される内容は実際の内容と異なることがあります。 例えば、使用中の電話番号規則に合わせて、数字セパレータや適切な句読点をつけ、数字を国別番号、市外局番、接頭番号などに分類して、PHONENUMBER フィールドを表示するかもしれません。 提供された空白や句読点も、テキスト・オブジェクトの実際の内容の一部としては考慮されません。 例えば、PHONENUMBER 入力制約のなされたテキスト・オブジェクトは以下のように表示されるかもしれません。

     (408) 555-1212

しかし、アプリケーションに見える TextField の内容は「4085551212」のような一般的な電話番号を表す文字列となります。 size() メソッドは表示される文字の数ではなく、実際の内容の文字数を反映したものであるため、この例に関して size() メソッドは 10 を返します。

DECIMAL などいくつかの入力制約は、テキスト・オブジェクトに関する内容の構文チェックを実行するための実装を必要とします。 構文チェックはテキスト・オブジェクトの実際の内容に対して行います。内容は、上記で説明されているように、表示される内容と異なることがあります。 構文チェックはコンストラクタに渡した初期の内容に対しても行います。そしてまた、それはテキスト・オブジェクトに関する内容に影響する全てのメソッドの呼び出しにおいても行われます。 アプリケーションが必要とされる構文に従わないテキスト・オブジェクトに関する内容を設定しようとするならば、コンストラクタとメソッドは IllegalArgumentException を throw します。

setConstraints() メソッドに渡す値は、テキスト入力および表示の振る舞いを変更するためのさまざまなフラグビットと同様に、上記で説明した入力制約のセットから構成されます。 入力制約設定の値は、下位 16 ビットの値です。そして、それは制約条件設定の値に対して、AND(&) ビット演算子と CONSTRAINT_MASK 定数を組み合わせることで抽出することができます。 入力制約設定の値は以下の通りです:

     ANY
     EMAILADDR
     NUMERIC
     PHONENUMBER
     URL
     DECIMAL

修飾フラグは入力制約の値の上位 16 ビット、つまり CONSTRAINT_MASK 定数の補数で示される位置にあります。 修飾フラグは、AND(&) ビット演算子と修飾フラグ定数を用いて個別に検査することができます。 修飾フラグは以下の通りです:

     PASSWORD
     UNEDITABLE
     SENSITIVE
     NON_PREDICTIVE
     INITIAL_CAPS_WORD
     INITIAL_CAPS_SENTENCE

入力モード

TextFieldTextBox クラスは入力モードの概念を共有しています。 アプリケーションは、ユーザーが TextFieldTextBox の編集を開始するとき、実装が特定の入力モードを使用するように要求することができます。 入力モードは特定のデバイス上のテキスト入力のためのユーザーインタフェースの中に存在する概念です。 テキスト入力のためのユーザーインタフェースがデバイスを通して標準化されていないため、アプリケーションは直接入力モードの要求を行いません。 代わりに、アプリケーションは利便性を得られるように特定の文字の入力を要求することができます。 これは Unicode 文字サブセットの名前を setInitialInputMode() メソッドに渡すことにより行います。 このメソッドは、ユーザーにとって利便性のある文字サブセットを指定し、実装がテキスト入力ユーザーインタフェースのモードを設定するように要求します。

ユーザーが TextBox および TextField オブジェクトの編集を開始するときには、常に要求された入力モードを用いるべきです。 ユーザーが前の編集セッションにおいて入力モードを変更した場合、アプリケーションによる入力モードの要求は、前にユーザーが指定した入力モードに優先します。 しかし、入力モードに制限はありません。また、ユーザーはいつでも編集中に入力モードを変更することができます。 編集が既に進行しているのであれば、setInitialInputMode メソッドの呼び出しは現在の入力モードには影響しませんが、ユーザーがこのテキスト・オブジェクトの編集を開始する、次のタイミングで有効となります。

初期入力モードは実装へのヒントです。 実装がアプリケーションの要望に対応する入力モードを提供できないのであれば、デフォルト入力モードを使用します。

アプリケーションの要求によって生じる入力モードは、ユーザーが入力できる文字のセットを制限するものではありません。 ユーザーに対して、現在の制約設定によって容認されている全ての文字を入力できるように入力モードを切り替えさせなければなりません。 制約設定は入力モード要求に対して優先します。そして、もしも現在の制約設定に矛盾しているなら、実装は特定の入力モードの提供を行わないかもしれません。

例えば現在の入力制約が ANY の時に以下の呼び出しを行ったとします。

     setInitialInputMode("MIDP_UPPERCASE_LATIN");

初期の入力モードとして、大文字のラテン語の文字の入力を許容するように設定すべきです。 これは入力できるキャラクタの制限を行いません。そして数字の入力をするため、あるいは小文字のラテン語の文字を入力するために入力モードを切り替えることによってユーザーは他の文字を入力することができるでしょう。 しかし、現在の入力制約が NUMERIC であるならば、MIDP_UPPERCASE_LATIN に含まれるキャラクタが入力制約が NUMERIC である TextField には許容されないため、実装は初期入力モードを設定するという要求を無視するかもしれません。 このような場合、NUMERIC 制約におけるデータ入力では、実装は最も適切な入力モードとして代わりに数字の入力を許容する入力モードを用いるかもしれません。

文字列は Unicode 文字サブセットの名称で、setInitialInputMode() メソッドに渡すために使用します。 文字列の比較は大文字と小文字を区別します。

Unicode 文字ブロックを示す名称は、Java SE の java.lang.Character.UnicodeBlock クラスにて定義されている Unicode 文字ブロックを示すフィールドの文字列名に接頭語"UCB_"を加えたものです。 全ての Unicode 文字ブロックは同様の方法で命名されます。 利便性のために、リストアップされている最も一般的な Unicode 文字ブロックは以下の通りです。

     UCB_BASIC_LATIN
     UCB_GREEK
     UCB_CYRILLIC
     UCB_ARMENIAN
     UCB_HEBREW
     UCB_ARABIC
     UCB_DEVANAGARI
     UCB_BENGALI
     UCB_THAI
     UCB_HIRAGANA
     UCB_KATAKANA
     UCB_HANGUL_SYLLABLES

Java SE の java.awt.im.InputSubset クラスによって定義される"入力サブセット"は、そのクラスで定義されている入力サブセットを示すフィールドの文字列名に接頭語"IS_"を追加することによって命名します。 全ての入力サブセットは同様の方法で命名されます。 利便性のために、現在定義されている入力サブセットの名前は以下の通りです。

     IS_FULLWIDTH_DIGITS
     IS_FULLWIDTH_LATIN
     IS_HALFWIDTH_KATAKANA
     IS_HANJA
     IS_KANJI
     IS_LATIN
     IS_LATIN_DIGITS
     IS_SIMPLIFIED_HANZI
     IS_TRADITIONAL_HANZI

また、MIDP は以下の文字サブセットを定義しました:

     MIDP_UPPERCASE_LATIN - 大文字のラテン語の文字に対応する IS_LATIN のサブセット
     MIDP_LOWERCASE_LATIN - 小文字のラテン語の文字に対応する IS_LATIN のサブセット

最終的に、実装独自の文字サブセットは"X_"の接頭語を持つ文字列で命名します。 名前空間の衝突を避けるために、実装固有名には最初の"X_"接頭語の直後に定義を行った会社か組織の名前を含めておくことを推奨します。

例えば、日本語アプリケーションは主として日本語以外の言語から"貸与された"単語(注記:要するに外来語のことです)の入力に、アプリケーションが使用するつもりである特定の TextField を備えているとします。 アプリケーションは以下のメソッド呼び出しを行うことによって Hiragana(ひらがな)入力を容易にする入力モードを要求することができます

     textfield.setInitialInputMode("UCB_HIRAGANA");

実装時の注意事項

実装は上記で示した全ての文字列を編纂できる必要はありません。 代わりに、Unicode 文字サブセットを命名する文字列でサポートするものを編纂する必要があります。 アプリケーションから渡されたサブセット名が、既知のサブセット名と一致しなければ、要求はエラーなしで単に無視すべきです。そして、デフォルト入力モードを使用すべきです。 これにより、実装は合理的にこの機構を低コストでサポートすることができます。

導入されたバージョン:
MIDP 1.0

フィールドの概要
static int ANY
          ユーザーはどのようなテキストでも入力できます。
static int CONSTRAINT_MASK
          入力制約モードの要因を得るためのマスク値です。
static int DECIMAL
          ユーザーはオプションの 10 進小数に従った、例えば"-123""0.123"".5"のような数値を入力することができます。
static int EMAILADDR
          ユーザーは電子メール・アドレスを入力できます。
static int INITIAL_CAPS_SENTENCE
          このフラグは実装に対してテキスト編集の間それぞれの文(センテンス)の頭文字を大文字で表記すべきであるというヒントです。
static int INITIAL_CAPS_WORD
          このフラグは実装に対してテキスト編集の間それぞれの単語の頭文字を大文字で表記すべきであるというヒントです。
static int NON_PREDICTIVE
          入力されるテキストが、予測を行う入力体系によって通常使用する辞書で見つけられそうな単語からは構成されないことを示します。
static int NUMERIC
          ユーザーは整数値のみを入力できます。
static int PASSWORD
          入力されたテキストは、可能である限り常に隠されるべき秘密のデータであることを示します。
static int PHONENUMBER
          ユーザーは電話番号を入力することができます。
static int SENSITIVE
          入力されたテキストが、実装が辞書を使用した予測や、自動補完や、または他の入力支援体系が使用するための辞書やテーブルの中に内容を決して保存してはならない、重要なデータであることを示します。
static int UNEDITABLE
          編集が現在禁じられていることを示します。
static int URL
          ユーザーは URL を入力することができます。
 
クラス javax.microedition.lcdui.Item から継承されたフィールド
BUTTON, HYPERLINK, LAYOUT_2, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_DEFAULT, LAYOUT_EXPAND, LAYOUT_LEFT, LAYOUT_NEWLINE_AFTER, LAYOUT_NEWLINE_BEFORE, LAYOUT_RIGHT, LAYOUT_SHRINK, LAYOUT_TOP, LAYOUT_VCENTER, LAYOUT_VEXPAND, LAYOUT_VSHRINK, PLAIN
 
コンストラクタの概要
TextField(String title, String text, int maxSize, int constraints)
          指定されたタイトル文字列、テキストの内容、最大文字数および入力制約を設定した新しい TextField オブジェクトを作成します。
 
メソッドの概要
 void delete(int offset, int length)
          TextField から文字を削除します。
 int getCaretPosition()
          現在の入力位置を返します。
 int getChars(char[] data)
          指定された文字配列に TextField の内容をコピーします。
 int getConstraints()
          TextField に設定されている現在の入力制約を返します。
 int getMaxSize()
          この TextField に格納することができる最大サイズ(文字数)を返します。
 String getString()
          TextField の内容を文字列として返します。
 void insert(char[] data, int offset, int length, int position)
          TextField の内容に文字配列の一部を挿入します。
 void insert(String src, int position)
          TextField の内容に文字列を挿入します。
 void setChars(char[] data, int offset, int length)
          以前の内容を置き換えて、文字配列を TextField の内容を設定します。
 void setConstraints(int constraints)
          TextField に新たな入力制約を設定します。
 void setInitialInputMode(String characterSubset)
          ユーザーがこの TextField の編集を開始する際に使用すべきである入力モードに関して実装にヒントを設定します。
 int setMaxSize(int maxSize)
          この TextField に格納することができる最大サイズ(文字数)を設定します。
 void setString(String text)
          指定された新しい内容を TextField に設定します。
 int size()
          この TextField に現在格納されている内容の文字数を返します。
 
クラス javax.microedition.lcdui.Item から継承されたメソッド
addCommand, getLabel, getLayout, getMinimumHeight, getMinimumWidth, getPreferredHeight, getPreferredWidth, notifyStateChanged, removeCommand, setDefaultCommand, setItemCommandListener, setLabel, setLayout, setPreferredSize
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ANY

public static final int ANY

ユーザーはどのようなテキストでも入力できます。 改行を入れることもできるかもしれません。

ANY には定数 0 が割り当てられます。

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

EMAILADDR

public static final int EMAILADDR

ユーザーは電子メール・アドレスを入力できます。

EMAILADDR には定数 1 が割り当てられます。

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

NUMERIC

public static final int NUMERIC

ユーザーは整数値のみを入力できます。 実装は空であるか、またはオプションのマイナス符号と後ろに続く一連の1つ以上の10進数からなるように内容を制限しなければなりません。 値が空ではない場合、それは Integer.parseInt(String) を用いてパース可能です。

マイナス符号はテキスト・オブジェクト内のスペースを消費します。 このため、最大サイズが 1 であるテキスト・オブジェクトに負数を入れることはできません。

NUMERIC には定数 2 が割り当てられます。

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

PHONENUMBER

public static final int PHONENUMBER

ユーザーは電話番号を入力することができます。 電話番号における特別なケースでは、電話ベースの実装がネイティブな電話ダイヤルアプリケーションにリンクされるかもしれません。 実装は単一のキーを押すことにより、電話をかけるための十分な初期化が行われる電話ダイヤル・アプリケーションを自動的に開始するかもしれません。 ユーザーの確認を省略して自動的にダイヤルを開始するように作成してはなりません。 また、実装はデバイスの電話帳またはアドレス帳から電話番号を取得する機能を提供するかもしれません。

許容される文字の正確なセットは、デバイスとデバイスのネットワークに依存しており、接頭文字"+"のような非数字を含むかもしれません。

いくつかのプラットフォームでは、MIDlet.platformRequest メソッドを使用することによって音声通話を開始する機能を提供するかもしれません。

PHONENUMBER には定数 3 が割り当てられます。

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

URL

public static final int URL

ユーザーは URL を入力することができます。

URL には定数 4 が割り当てられます。

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

DECIMAL

public static final int DECIMAL

ユーザーはオプションの 10 進小数に従った、例えば"-123""0.123"".5"のような数値を入力することができます。

実装は少数セパレータとして、デバイスで用いられている慣習に従って、ピリオド"."またはコンマ","を表示するかもしれません。 同様に、実装は10進数文字列の一部として他のデバイス固有の、数字セパレータのためのスペースやコンマのような特性を見せるかもしれません。 しかし、テキスト・オブジェクトの実際の内容で許容される文字は、ピリオド"."、マイナス符号"-"、そして10進数字のみです。

DECIMAL テキスト・オブジェクトの実際の内容は空であるかもしれません。 実際の内容が空ではないなら、Java 言語仕様(Java Language Specification)のセクション 3.10.2 によって定義されるように、それらは浮動小数点リテラル(FloatingPointLiteral)ための構文のサブセットに従わなければなりません。 このサブセット構文は以下のように定義されます: 実際の内容は、オプションのマイナス符号"-"に続いて、1つかそれ以上の整数10進数字、オプションの小数点に続けてゼロかそれ以上の少数数字からならなければなりません。 小数点と1つ以上の少数数字が存在しているなら、整数10進数字は省略することができます。

また、アプリケーションがコンストラクタあるいはメソッドを呼び出してテキスト・オブジェクトに関する内容を設定するか、または変更を行うときには、常に上記で定義された構文に合致しなければなりません。

この文字列値を計算に適した数値に解析するのはアプリケーションの責任です。 それらが実行環境に存在しており内容が空でなければ、Double.valueOf と関連するメソッドによって解析を実施することができます。

符号と小数点はテキスト・オブジェクト内のスペースを消費します。 テキスト・オブジェクトのための最大サイズを割り当てるとき、アプリケーションはこれを織り込むべきです。

DECIMAL には定数 5 が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

PASSWORD

public static final int PASSWORD

入力されたテキストは、可能である限り常に隠されるべき秘密のデータであることを示します。 ユーザーがデータを入力している間、内容は可視状態にあるかもしれません。 しかしながら、内容をユーザーに決して明かしてはなりません。 特にユーザーが内容を編集するときに既存の内容を提示してはなりません。 内容を隠すための手段は実装に依存します。 例えば、データのそれぞれの文字は"*"でマスクされるかもしれません。 PASSWORD 修飾子はパスワードや個人識別番号(暗証番号)などの秘密情報を入力するのに役立ちます。

実装が辞書を使用した予測や、自動補完や、または他の入力支援体系が使用するための辞書やテーブルの中に内容を決して保存してはならず、PASSWORD フィールドの中に入力されたデータは SENSITIVE と同様に扱われます。 また、PASSWORD ビットが入力制約値で設定されるなら、実際の値に関わらず SENSITIVENON_PREDICTIVE ビットが設定されているとみなします。 さらに、INITIAL_CAPS_WORDINITIAL_CAPS_SENTENCE フラグビットが設定されたとしても、それらは無視すべきです。

OR ビット演算子(|)を使用することで、他の入力制約に PASSWORD 修飾子を結合できます。 PASSWORD 修飾子は EMAILADDRPHONENUMBER および URL などのいくつかの入力制約には役立ちません。 しかし、これらの組み合わせは適正であり、そしてそのような入力制約が指定されても例外は throw しません。

PASSWORD には定数 0x10000 が割り当てられます。

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

UNEDITABLE

public static final int UNEDITABLE

編集が現在禁じられていることを示します。 このフラグが設定されている場合、実装はユーザーがこのオブジェクトのテキストの内容を変更することができないようにしなければなりません。 また、実装はオブジェクトのテキストを編集できないという視覚的表現を提供すべきです。 このフラグは、このテキスト・オブジェクトは編集される可能性があり、アプリケーションがこのフラグをクリアして、ユーザーが内容を編集することを許可する可能性があることを意図しています。

OR ビット演算子(|)を使用することで、他の入力制約に UNEDITABLE 修飾子を結合できます。

UNEDITABLE には定数 0x20000 が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

SENSITIVE

public static final int SENSITIVE

入力されたテキストが、実装が辞書を使用した予測や、自動補完や、または他の入力支援体系が使用するための辞書やテーブルの中に内容を決して保存してはならない、重要なデータであることを示します。 クレジットカード番号は重要なデータの例です。

OR ビット演算子(|)を使用することで、他の入力制約に SENSITIVE 修飾子を結合できます。

SENSITIVE には定数 0x40000 が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

NON_PREDICTIVE

public static final int NON_PREDICTIVE

入力されるテキストが、予測を行う入力体系によって通常使用する辞書で見つけられそうな単語からは構成されないことを示します。 このビットがクリアされているなら、実装は予測を行う入力体系を使用できます(しかし必須ではありません)。 このビットがセットされているなら、実装はどのような予測を行う入力体系も使用すべきではありませんが、その代わりに文字と文字によるテキスト入力を容認すべきです。

OR ビット演算子(|)を使用することで、他の入力制約に NON_PREDICTIVE 修飾子を結合できます。

NON_PREDICTIVE には定数 0x80000 が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

INITIAL_CAPS_WORD

public static final int INITIAL_CAPS_WORD

このフラグは実装に対してテキスト編集の間それぞれの単語の頭文字を大文字で表記すべきであるというヒントです。 このヒントは自動的な大文字化が適切であるデバイスにおいて、編集されるテキストの文字セットに大文字と小文字の概念があるときに尊重されるべきものです。 語句境界の定義は実装に依存します。

アプリケーションが INITIAL_CAPS_WORDINITIAL_CAPS_SENTENCE フラグの両方を指定するなら、INITIAL_CAPS_WORD の振る舞いを使用すべきです。

OR ビット演算子(|)を使用することで、他の入力制約に INITIAL_CAPS_WORD 修飾子を結合できます。

INITIAL_CAPS_WORD には定数 0x100000 が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

INITIAL_CAPS_SENTENCE

public static final int INITIAL_CAPS_SENTENCE

このフラグは実装に対してテキスト編集の間それぞれの文(センテンス)の頭文字を大文字で表記すべきであるというヒントです。 このヒントは自動的な大文字化が適切であるデバイスにおいて、編集されるテキストの文字セットに大文字と小文字の概念があるときに尊重されるべきものです。 文境界の定義は実装に依存します。

アプリケーションが INITIAL_CAPS_WORDINITIAL_CAPS_SENTENCE フラグの両方を指定するなら、INITIAL_CAPS_WORD の振る舞いを使用すべきです。

OR ビット演算子(|)を使用することで、他の入力制約に INITIAL_CAPS_SENTENCE 修飾子を結合できます。

INITIAL_CAPS_SENTENCE には定数 0x200000 が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値

CONSTRAINT_MASK

public static final int CONSTRAINT_MASK

入力制約モードの要因を得るためのマスク値です。 アプリケーションは、PASSWORD のような修飾フラグを削除した現在の入力制約モードを得るために getConstraints() が返す値を CONSTRAINT_MASK の値で AND ビット演算子(&)を使用すべきです。

CONSTRAINT_MASK には定数 0xFFFF が割り当てられます。

導入されたバージョン:
MIDP 2.0
関連項目:
定数フィールド値
コンストラクタの詳細

TextField

public TextField(String title,
                 String text,
                 int maxSize,
                 int constraints)

指定されたタイトル文字列、テキストの内容、最大文字数および入力制約を設定した新しい TextField オブジェクトを作成します。 text パラメータが null の場合、TextBox は空の状態で作成されます。 maxSize パラメータは 0 以上の値でなければなりません。 初期の内容文字列の長さが maxSize を超えているなら IllegalArgumentException を throw します。 しかし、実装はアプリケーションが要求したより小さな最大サイズを割り当てるかもしれません。 これによって内容の長さが新たに割り当てられた最大サイズを超えている場合には、内容は新しいサイズに合うように終端を切り取ります。そして、例外は throw しません。

パラメータ:
title - ディスプレイに表示するタイトル文字列を渡します。
text - 編集エリアに設定するテキストの初期内容あるいは null を渡します。
maxSize - 最大キャラクタ数を渡します。
constraints - 入力制約を渡します。
例外:
IllegalArgumentException - maxSize0 未満の場合、constraints が不正な場合、text入力制約に違反する場合および text の長さが最大サイズを超えている場合に throw します。
メソッドの詳細

getString

public String getString()

TextField の内容を文字列として返します。

戻り値:
現在の内容を返します。
関連項目:
setString(java.lang.String)

setString

public void setString(String text)

指定された新しい内容を TextField に設定します。 以前の内容は新しい内容と置き換えられます。

パラメータ:
text - 新しく設定する内容を渡します。
例外:
IllegalArgumentException - text入力制約に違反する場合および text の長さが最大サイズを超えている場合に throw します。
関連項目:
getString()

getChars

public int getChars(char[] data)

指定された文字配列に TextField の内容をコピーします。 内容をコピーした配列以降の配列の内容は変更されません。

パラメータ:
data - 内容を受け取る文字配列を渡します。
戻り値:
コピーした文字数を返します。
例外:
ArrayIndexOutOfBoundsException - 内容の長さと比較してコピー先の文字配列の長さが短い場合に throw します。
NullPointerException - datanull が渡された場合に throw します。
関連項目:
setChars(char[], int, int)

setChars

public void setChars(char[] data,
                     int offset,
                     int length)

以前の内容を置き換えて、文字配列を TextField の内容を設定します。 キャラクタは data 配列の offset が示す位置から length キャラクタ分をコピーします。 data 配列が null ならば、TextField は空に設定し、その他のパラメータは無視します。

offsetlength のパラメータは文字配列 data の中で、文字の有効な範囲を指定しなければなりません。 offset パラメータは範囲 [0 〜 (data.length)] の中を指していなければなりません。 length パラメータは正数で (offset + length) <= data.length でなければなりません。

パラメータ:
data - 設定する元の文字配列あるいは null を渡します。
offset - 設定を開始する文字配列中の位置を渡します。
length - 設定する文字数を渡します。
例外:
ArrayIndexOutOfBoundsException - offset および length による範囲指定が data に対して不適切な場合に throw します。
IllegalArgumentException - data入力制約に違反する場合および length の長さが最大サイズを超えている場合に throw します。
関連項目:
getChars(char[])

insert

public void insert(String src,
                   int position)

TextField の内容に文字列を挿入します。 文字列は、内容の1文字目を 0 とする位置を基準とするパラメータ position によって指定された位置に挿入されます。 以後のテキストは挿入した文字数分、後方へ移動します。 position0 あるいはそれ以下の場合、内容の前に指定された文字列を挿入します。 同様に position が内容の最後の位置あるいは最上の場合、内容の直後に指定された文字列を挿入、つまり追加します。 例えば、text.insert(s, text.size()) は常に文字列 s を現在のないように追加します。

内容のサイズは挿入した文字数分増加します。 増加した結果のサイズは設定されている最大サイズ以下でなければなりません。

アプリケーションはタイピングしたように文字を挿入する場合、getCaretPosition() メソッドによって取得した位置を使用して挿入します。 例えば、text.insert(s, text.getCaretPosition()) と記述すると、現在の入力位置に文字列 s を挿入することができます。

パラメータ:
src - 挿入する文字列を渡します。
position - 文字列を挿入する内容の中の位置を渡します。
例外:
IllegalArgumentException - src入力制約に違反する場合および挿入後の内容の長さが最大サイズを超えている場合に throw します。
NullPointerException - src パラメータが null の場合に throw します。

insert

public void insert(char[] data,
                   int offset,
                   int length,
                   int position)

TextField の内容に文字配列の一部を挿入します。 offsetlength パラメータは、挿入のために使用する文字配列内の開始位置と文字数を示します。 挿入自体の動作は insert(String, int) と同一です。

offsetlength のパラメータは文字配列 data の中で、文字の有効な範囲を指定しなければなりません。 offset パラメータは範囲 [0 〜 (data.length)] の中を指していなければなりません。 length パラメータは正数で (offset + length) <= data.length でなければなりません。

パラメータ:
data - 設定する元の文字配列を渡します。
offset - 設定を開始する文字配列中の位置を渡します。
length - 設定する文字数を渡します。
position - 文字列を挿入する内容の中の位置を渡します。
例外:
ArrayIndexOutOfBoundsException - offset および length による範囲指定が data に対して不適切な場合に throw します。
IllegalArgumentException - data入力制約に違反する場合および挿入後の内容の長さが最大サイズを超えている場合に throw します。
NullPointerException - data パラメータが null の場合に throw します。

delete

public void delete(int offset,
                   int length)

TextField から文字を削除します。

offsetlength のパラメータは内容テキストの中で、文字の有効な範囲を指定しなければなりません。 offset パラメータは範囲 [0 〜 (size())] の中を指していなければなりません。 length パラメータは正数で (offset + length) <= size() でなければなりません。

パラメータ:
offset - 削除を開始する内容中の位置を渡します。
length - 削除する文字数を渡します。
例外:
StringIndexOutOfBoundsException - offset および length によって指定された範囲が TextField の内容の範囲外の場合に throw します。
IllegalArgumentException - data入力制約に違反する場合に throw します。

getMaxSize

public int getMaxSize()

この TextField に格納することができる最大サイズ(文字数)を返します。

戻り値:
格納できる最大サイズを返します。

setMaxSize

public int setMaxSize(int maxSize)

この TextField に格納することができる最大サイズ(文字数)を設定します。 もしも、TextField の現在の内容が maxSize よりも長い場合、内容は maxSize に合うように終端を切り詰めます。

パラメータ:
maxSize - 新しい最大サイズを渡します。
戻り値:
設定された最大サイズを返します。このサイズは要求したサイズよりも小さい可能性があります。
例外:
IllegalArgumentException - maxSize0 あるいはそれ以下の値を渡した場合および切り捨てを行った結果の内容が入力制約に違反する場合に throw します。

size

public int size()

この TextField に現在格納されている内容の文字数を返します。

戻り値:
内容の文字数を返します。

getCaretPosition

public int getCaretPosition()

現在の入力位置を返します。 ユーザーインタフェースの種類によっては、この呼び出しによってしばらくの間ブロックすることがあります。 また、意図するキャレット位置をユーザーに問い合わせることがあります。 単純にキャレット記号を表示している位置を返すこともあります。

戻り値:
現在の入力位置を 0 を始点とする値で返します。

setConstraints

public void setConstraints(int constraints)

TextField に新たな入力制約を設定します。 TextField の現在の内容が新しい制約に一致しない場合、内容はクリアされます。

パラメータ:
constraints - 入力制約を渡します。
例外:
IllegalArgumentException - 指定した constraints が不適切な場合に throw します。

getConstraints

public int getConstraints()

TextField に設定されている現在の入力制約を返します。

戻り値:
現在設定されている入力制約を返します。

setInitialInputMode

public void setInitialInputMode(String characterSubset)

ユーザーがこの TextField の編集を開始する際に使用すべきである入力モードに関して実装にヒントを設定します。 characterSubset パラメータには初期入力モードを選択するために実装で使用する Unicode 文字サブセット名を指定します。 null が渡された場合、実装はデフォルトの入力モードを選択します。

入力モードの詳細については入力モードを参照してください。

パラメータ:
characterSubset - Unicode 文字サブセットの名前を示す文字列あるいは null を渡します。
導入されたバージョン:
MIDP 2.0

Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。