- すべての実装されたインタフェース:
Serializable
- 直系の既知のサブクラス:
DefaultFormatter
- 含まれているクラス:
JFormattedTextField
AbstractFormatterのインスタンスは、ObjectからStringおよびStringからObjectへの変換を処理するためにJFormattedTextFieldで使用されます。 AbstractFormatterは、編集ポリシーやナビゲーション・ポリシーを強化したり、JFormattedTextFieldの表示方法を操作して必要なポリシーを強化したりもできます。
AbstractFormatterは一度に1つのJFormattedTextFieldだけで有効です。 JFormattedTextFieldは使用準備ができたときにinstallを呼び出し、使用を終了するとuninstallを呼び出します。 追加の状態をインストールするサブクラスは必要に応じてinstallをオーバーライドし、上位クラスに通知を行います。
サブクラスは変換メソッドのstringToValueとvalueToStringをオーバーライドする必要があります。 特定の方法でgetActions、getNavigationFilter、およびgetDocumentFilterをオーバーライドし、JFormattedTextFieldを制限することもできます。
JFormattedTextFieldを一時的に無効な状態にすることを許可するサブクラスでは、適切なタイミングでsetEditValidを呼び出す必要があります。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明protected Objectclone()AbstractFormatterを複製します。protected Action[]Actionのカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。protected DocumentFilter入力を制限するDocumentFilterを提供する場合は、サブクラス化し、オーバーライドします。protected JFormattedTextFieldAbstractFormatterがインストールされている現在のJFormattedTextFieldを返します。protected NavigationFilterユーザーのナビゲート先を制限するフィルタを提供する場合にサブクラス化し、オーバーライドします。voidAbstractFormatterを特定のJFormattedTextFieldにインストールします。protected voidこれはユーザーが不正な文字を入力したときに呼び出されます。protected voidsetEditValid(boolean valid) JFormattedTextFieldのeditValidプロパティを更新するために呼び出します。abstract ObjectstringToValue(String text) 任意のオブジェクトを返すtextの構文を解析します。voidJFormattedTextFieldにインストールされた、任意の状態のAbstractFormatterをアンインストールします。abstract StringvalueToString(Object value) valueを表示するための文字列値を返します。
-
コンストラクタの詳細
-
AbstractFormatter
protected AbstractFormatter()サブクラスが呼び出すためのコンストラクタ。
-
-
メソッドの詳細
-
install
public void install(JFormattedTextField ftf) AbstractFormatterを特定のJFormattedTextFieldにインストールします。 これによりvalueToStringが呼び出されて、現在の値がJFormattedTextFieldからStringへ変換されます。 次に、getActionsからのAction、getDocumentFilterから返されたDocumentFilter、getNavigationFilterから返されたNavigationFilterが、JFormattedTextFieldにインストールされます。通常、サブクラスでのオーバーライドが必要になるのは、
JFormattedTextFieldに追加リスナーをインストールする場合だけです。現在の値をStringに変換するときに
ParseExceptionが発生した場合は、テキストとして空のStringが設定され、JFormattedTextFieldに不正な状態を示す値が設定されます。これはpublicメソッドですが、通常は
JFormattedTextFieldのサブクラスに対してだけ有効です。 値が変更されるか、内部状態が変更される場合、JFormattedTextFieldによりこのメソッドが適切なタイミングで呼び出されます。 ユーザー自身が呼び出す必要があるのは、JFormattedTextFieldをサブクラス化している場合、およびAbstractFormatterをJFormattedTextFieldとは異なるタイミングでインストールまたはアンインストールしている場合だけです。- パラメータ:
ftf- フォーマット対象のJformattedTextField。nullの場合は、現在のJFormattedTextFieldからのアンインストールを示す。
-
uninstall
public void uninstall()JFormattedTextFieldにインストールされた、任意の状態のAbstractFormatterをアンインストールします。JFormattedTextFieldにインストールされたDocumentFilter、NavigationFilter、および追加Actionがリセットされます。 -
stringToValue
public abstract Object stringToValue(String text) throws ParseException 任意のオブジェクトを返すtextの構文を解析します。 フォーマッタによってはnullが返されます。- パラメータ:
text- 変換対象の文字列- 戻り値:
- テキストのオブジェクト表現
- スロー:
ParseException- 変換でエラーが発生した場合
-
valueToString
public abstract String valueToString(Object value) throws ParseException valueを表示するための文字列値を返します。- パラメータ:
value- 変換対象の値- 戻り値:
- 値の文字列表現
- スロー:
ParseException- 変換でエラーが発生した場合
-
getFormattedTextField
protected JFormattedTextField getFormattedTextField()AbstractFormatterがインストールされている現在のJFormattedTextFieldを返します。- 戻り値:
- フォーマット対象のJFormattedTextField。
-
invalidEdit
protected void invalidEdit()これはユーザーが不正な文字を入力したときに呼び出されます。 呼出しを現在のJFormattedTextFieldに転送します。 -
setEditValid
protected void setEditValid(boolean valid) JFormattedTextFieldのeditValidプロパティを更新するために呼び出します。JFormattedTextFieldが常に有効な状態であるようにポリシーを強化している場合は、呼び出す必要はありません。- パラメータ:
valid- JFormattedTextFieldの有効な状態
-
getActions
protected Action[] getActions()Actionのカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。installにより、JFormattedTextFieldのActionMapにインストールされます。- 戻り値:
- JformattedTextFieldにインストールするアクションの配列
-
getDocumentFilter
protected DocumentFilter getDocumentFilter()入力を制限するDocumentFilterを提供する場合は、サブクラス化し、オーバーライドします。installは戻り値をJFormattedTextFieldにインストールします。- 実装要件:
- デフォルトの実装では
nullを返します。 - 戻り値:
- 編集を制限するDocumentFilter
-
clone
protected Object clone() throws CloneNotSupportedExceptionAbstractFormatterを複製します。 返されるインスタンスはJFormattedTextFieldには関連付けられません。- オーバーライド:
clone、クラスObject- 戻り値:
- AbstractFormatterのコピー
- スロー:
CloneNotSupportedException- オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。- 関連項目:
-