- すべての実装されたインタフェース:
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 Object
clone()
AbstractFormatter
を複製します。protected Action[]
Action
のカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。protected DocumentFilter
入力を制限するDocumentFilter
を提供する場合は、サブクラス化し、オーバーライドします。protected JFormattedTextField
AbstractFormatter
がインストールされている現在のJFormattedTextField
を返します。protected NavigationFilter
ユーザーのナビゲート先を制限するフィルタを提供する場合にサブクラス化し、オーバーライドします。void
AbstractFormatter
を特定のJFormattedTextField
にインストールします。protected void
これはユーザーが不正な文字を入力したときに呼び出されます。protected void
setEditValid
(boolean valid) JFormattedTextField
のeditValid
プロパティを更新するために呼び出します。abstract Object
stringToValue
(String text) 任意のオブジェクトを返すtext
の構文を解析します。void
JFormattedTextField
にインストールされた、任意の状態のAbstractFormatter
をアンインストールします。abstract String
valueToString
(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
メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。- 関連項目:
-