クラスInternationalFormatter
- すべての実装されたインタフェース:
Serializable, Cloneable
- 直系の既知のサブクラス:
DateFormatter, NumberFormatter
InternationalFormatterは、Stringへの変換とStringからの変換を処理するjava.text.Formatのインスタンスを使用して、DefaultFormatterを拡張します。
getAllowsInvalid()がfalseの場合、各編集の現行テキストに書式を付けるようFormatに求めます。
setMinimumメソッドとsetMaximumメソッドで最小値と最大値を指定できます。 これを有効にするには、stringToValueから返された値が、Comparableインタフェースを介して最大値/最小値と比較可能である必要があります。
特定の値が入力不可になるといった状況を作り出すことがあるため、FormatとInternationalFormatterの構成方法には注意が必要です。 常に有効なInternationalFormatter (setAllowsInvalid(false))である日付書式「M/d/yy」が上書きモード(setOverwriteMode(true))であり、日付は7/1/99であるとします。 この場合、ユーザーは2桁の月および日付を入力できません。 これを回避するには、書式を「MM/dd/yy」にする必要があります。
InternationalFormatterが、有効な値(setAllowsInvalid(false))だけを許可するように構成されている場合、有効な各編集は、Formatから完全にリセットされたJFormattedTextFieldのテキストになります。 またカーソル位置は、リテラル文字が結果として得られるStringに対して追加または削除されるように調整されます。
stringToValueのInternationalFormatterの動作は、DefaultTextFormatterの動作とはわずかに違います。この場合は以下を実行します。
parseObjectは、setFormatで指定されたFormat上で呼び出される- Classがその値に設定されると(
setValueClass)、スーパー・クラスの実装が呼び出され、parseObjectから返された値を適切なクラスに変換する。 ParseExceptionがスローされておらず、またその値が最大値、最小値の範囲外である場合、ParseExceptionがスローされる。- 値が返される。
Formatが返す代替Classを指定するには、InternationalFormatterがこの方法でstringToValueを実装します。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。
- 導入されたバージョン:
- 1.4
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明Formatを指定せずに、InternationalFormatterを作成します。InternationalFormatter(Format format) 指定したFormatインスタンスを使用して、InternationalFormatterを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明clone()DefaultFormatterのコピーを作成します。protected Action[]getSupportsIncrementがtrueを返す場合、値の増減に適した2つのActionを返します。getFields(int offset) offset位置のテキストに関連するFormat.Field定数を返します。編集、表示が可能な正当な値を規定する書式を返します。Comparable<?> 可能な最大値を返します。Comparable<?> 可能な最小値を返します。voidDefaultFormatterを特定のJFormattedTextFieldにインストールします。void編集および表示が可能な正当な値を規定する書式を設定します。voidsetMaximum(Comparable<?> max) 可能な最大値を設定します。voidsetMinimum(Comparable<?> minimum) 可能な最小値を設定します。stringToValue(String text) StringtextのObject表現を返します。valueToString(Object value) オブジェクトvalueの文字列表現を返します。クラスで宣言されたメソッド DefaultFormatter
getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass修飾子と型メソッド説明boolean編集中の値を一定時間無効にできるかどうかを返します。boolean編集がいつJFormattedTextFieldに発行されるかを返します。protected DocumentFilterJFormattedTextFieldに入力可能な文字を限定するDocumentFilterを返します。protected NavigationFilterカーソルを配置できる場所を限定するNavigationFilterを返します。boolean文字の挿入時の動作を返します。Class<?> 新規Objectの作成に使用するクラスを返します。voidsetAllowsInvalid(boolean allowsInvalid) 編集中の値を一定時間無効(つまりstringToValueがParseExceptionをスローする)にできるかどうかを設定します。voidsetCommitsOnValidEdit(boolean commit) 編集がいつJFormattedTextFieldに発行されるかを設定します。voidsetOverwriteMode(boolean overwriteMode) 文字の挿入時の動作を構成します。voidsetValueClass(Class<?> valueClass) 新規Objectの作成に使用するクラスを設定します。クラスで宣言されたメソッド JFormattedTextField.AbstractFormatter
getFormattedTextField, invalidEdit, setEditValid, uninstall修飾子と型メソッド説明protected JFormattedTextFieldAbstractFormatterがインストールされている現在のJFormattedTextFieldを返します。protected voidこれはユーザーが不正な文字を入力したときに呼び出されます。protected voidsetEditValid(boolean valid) JFormattedTextFieldのeditValidプロパティを更新するために呼び出します。voidJFormattedTextFieldにインストールされた、任意の状態のAbstractFormatterをアンインストールします。クラスオブジェクトで宣言されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
InternationalFormatter
public InternationalFormatter()Formatを指定せずに、InternationalFormatterを作成します。 -
InternationalFormatter
public InternationalFormatter(Format format) 指定したFormatインスタンスを使用して、InternationalFormatterを作成します。- パラメータ:
format- Stringとの相互変換に使用されるFormatインスタンス
-
-
メソッドの詳細
-
setFormat
public void setFormat(Format format) 編集および表示が可能な正当な値を規定する書式を設定します。- パラメータ:
format- Stringとの相互変換に使用されるFormatインスタンス
-
getFormat
-
setMinimum
public void setMinimum(Comparable<?> minimum) 可能な最小値を設定します。valueClassが未指定で、minimumがnull以外の場合、valueClassはminimumクラスのvalueClassに設定されます。- パラメータ:
minimum- 入力可能な最小適正値- 関連項目:
-
getMinimum
-
setMaximum
public void setMaximum(Comparable<?> max) 可能な最大値を設定します。valueClassが未指定で、maxがnull以外の場合、valueClassはmaxクラスのvalueClassに設定されます。- パラメータ:
max- 入力可能な最大適正値- 関連項目:
-
getMaximum
-
install
public void install(JFormattedTextField ftf) DefaultFormatterを特定のJFormattedTextFieldにインストールします。 これによりvalueToStringが呼び出されて、現在の値がJFormattedTextFieldからStringへ変換されます。 次に、getActionsからのAction、getDocumentFilterから返されたDocumentFilter、getNavigationFilterから返されたNavigationFilterが、JFormattedTextFieldにインストールされます。通常、サブクラスでのオーバーライドが必要になるのは、
JFormattedTextFieldに追加リスナーをインストールする場合だけです。現在の値をStringに変換するときに
ParseExceptionが発生した場合は、テキストとして空のStringが設定され、JFormattedTextFieldに不正な状態を示す値が設定されます。これはpublicメソッドですが、通常は
JFormattedTextFieldのサブクラスに対してだけ有効です。 値が変更されるか、内部状態が変更される場合、JFormattedTextFieldによりこのメソッドが適切なタイミングで呼び出されます。- オーバーライド:
install、クラスDefaultFormatter- パラメータ:
ftf- フォーマット対象のJformattedTextField。nullの場合は、現在のJFormattedTextFieldからのアンインストールを示す。
-
valueToString
public String valueToString(Object value) throws ParseException オブジェクトvalueの文字列表現を返します。 これにより、現在のFormat上でformatが呼び出されます。- オーバーライド:
valueToString、クラスDefaultFormatter- パラメータ:
value- 変換対象の値- 戻り値:
- 値の文字列表現
- スロー:
ParseException- 変換でエラーが発生した場合
-
stringToValue
public Object stringToValue(String text) throws ParseException StringtextのObject表現を返します。- オーバーライド:
stringToValue、クラスDefaultFormatter- パラメータ:
text- 変換対象のString- 戻り値:
- テキストの
Object表現 - スロー:
ParseException- 変換でエラーが発生した場合
-
getFields
public Format.Field[] getFields(int offset) offset位置のテキストに関連するFormat.Field定数を返します。offsetの位置が現在のテキスト内で不正である場合は、空の配列が返されます。- パラメータ:
offset- 検査するテキストへのオフセット- 戻り値:
- 指定された位置のテキストに関連したFormat.Field定数
-
clone
public Object clone() throws CloneNotSupportedExceptionDefaultFormatterのコピーを作成します。- オーバーライド:
clone、クラスDefaultFormatter- 戻り値:
- DefaultFormatterのコピー
- スロー:
CloneNotSupportedException- オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。- 関連項目:
-
getActions
protected Action[] getActions()getSupportsIncrementがtrueを返す場合、値の増減に適した2つのActionを返します。- オーバーライド:
getActions、クラスJFormattedTextField.AbstractFormatter- 戻り値:
- JformattedTextFieldにインストールするアクションの配列
-