- すべての実装されたインタフェース:
- Serializable,- Cloneable
- 直系の既知のサブクラス:
- DateFormatter,- NumberFormatter
public class InternationalFormatter extends DefaultFormatter
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,- Comparable
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 InternationalFormatter()Formatを指定せずに、InternationalFormatterを作成します。InternationalFormatter(Format format)指定したFormatインスタンスを使用して、InternationalFormatterを作成します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 Objectclone()DefaultFormatterのコピーを作成します。protected Action[]getActions()getSupportsIncrementがtrueを返す場合、値の増減に適した2つのActionを返します。Format.Field[]getFields(int offset)offset位置のテキストに関連するFormat.Field定数を返します。FormatgetFormat()編集、表示が可能な正当な値を規定する書式を返します。Comparable<?>getMaximum()可能な最大値を返します。Comparable<?>getMinimum()可能な最小値を返します。voidinstall(JFormattedTextField ftf)DefaultFormatterを特定のJFormattedTextFieldにインストールします。voidsetFormat(Format format)編集および表示が可能な正当な値を規定する書式を設定します。voidsetMaximum(Comparable<?> max)可能な最大値を設定します。voidsetMinimum(Comparable<?> minimum)可能な最小値を設定します。ObjectstringToValue(String text)StringtextのObject表現を返します。StringvalueToString(Object value)オブジェクトvalueの文字列表現を返します。クラス javax.swing.text.DefaultFormatterで宣言されたメソッドgetAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClassクラス javax.swing.JFormattedTextField.AbstractFormatterで宣言されたメソッドgetFormattedTextField, invalidEdit, setEditValid, uninstall
- 
コンストラクタの詳細- 
InternationalFormatterpublic InternationalFormatter()Formatを指定せずに、InternationalFormatterを作成します。
- 
InternationalFormatterpublic InternationalFormatter(Format format)指定したFormatインスタンスを使用して、InternationalFormatterを作成します。- パラメータ:
- format- Stringとの相互変換に使用されるFormatインスタンス
 
 
- 
- 
メソッドの詳細- 
setFormatpublic void setFormat(Format format)編集および表示が可能な正当な値を規定する書式を設定します。- パラメータ:
- format- Stringとの相互変換に使用される- Formatインスタンス
 
- 
getFormatpublic Format getFormat()編集、表示が可能な正当な値を規定する書式を返します。- 戻り値:
- Stringとの相互変換に使用されるFormatインスタンス
 
- 
setMinimumpublic void setMinimum(Comparable<?> minimum)可能な最小値を設定します。valueClassが未指定で、minimumがnull以外の場合、valueClassはminimumクラスのvalueClassに設定されます。- パラメータ:
- minimum- 入力可能な最小適正値
- 関連項目:
- DefaultFormatter.setValueClass(java.lang.Class<?>)
 
- 
getMinimumpublic Comparable<?> getMinimum()可能な最小値を返します。- 戻り値:
- 入力可能な最小適正値
 
- 
setMaximumpublic void setMaximum(Comparable<?> max)可能な最大値を設定します。valueClassが未指定で、maxがnull以外の場合、valueClassはmaxクラスのvalueClassに設定されます。- パラメータ:
- max- 入力可能な最大適正値
- 関連項目:
- DefaultFormatter.setValueClass(java.lang.Class<?>)
 
- 
getMaximumpublic Comparable<?> getMaximum()可能な最大値を返します。- 戻り値:
- 入力可能な最大適正値
 
- 
installpublic 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からのアンインストールを示す。
 
- 
valueToStringpublic String valueToString(Object value) throws ParseExceptionオブジェクトvalueの文字列表現を返します。 これにより、現在のFormat上でformatが呼び出されます。- オーバーライド:
- valueToString、クラス:- DefaultFormatter
- パラメータ:
- value- 変換対象の値
- 戻り値:
- 値の文字列表現
- 例外:
- ParseException- 変換でエラーが発生した場合
 
- 
stringToValuepublic Object stringToValue(String text) throws ParseExceptionStringtextのObject表現を返します。- オーバーライド:
- stringToValue、クラス:- DefaultFormatter
- パラメータ:
- text- 変換対象の- String
- 戻り値:
- テキストのObject表現
- 例外:
- ParseException- 変換でエラーが発生した場合
 
- 
getFieldspublic Format.Field[] getFields(int offset)offset位置のテキストに関連するFormat.Field定数を返します。offsetの位置が現在のテキスト内で不正である場合は、空の配列が返されます。- パラメータ:
- offset- 検査するテキストへのオフセット
- 戻り値:
- 指定された位置のテキストに関連したFormat.Field定数
 
- 
clonepublic Object clone() throws CloneNotSupportedExceptionDefaultFormatterのコピーを作成します。- オーバーライド:
- clone、クラス:- DefaultFormatter
- 戻り値:
- DefaultFormatterのコピー
- 例外:
- CloneNotSupportedException- オブジェクトのクラスが- Cloneableインタフェースをサポートしていない場合。- cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。
- 関連項目:
- Cloneable
 
- 
getActionsprotected Action[] getActions()getSupportsIncrementがtrueを返す場合、値の増減に適した2つのActionを返します。- オーバーライド:
- getActions、クラス:- JFormattedTextField.AbstractFormatter
- 戻り値:
- JformattedTextFieldにインストールするアクションの配列
 
 
-