public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable
AbstractFormatter
のインスタンスは、ObjectからStringおよびStringからObjectへの変換を処理するためにJFormattedTextField
で使用されます。 AbstractFormatter
は、編集ポリシーやナビゲーション・ポリシーを強化したり、JFormattedTextField
の表示方法を操作して必要なポリシーを強化したりもできます。
AbstractFormatter
は一度に1つのJFormattedTextField
だけで有効です。 JFormattedTextField
は使用準備ができたときにinstall
を呼び出し、使用を終了するとuninstall
を呼び出します。 追加の状態をインストールするサブクラスは必要に応じてinstall
をオーバーライドし、上位クラスに通知を行います。
サブクラスは変換メソッドのstringToValue
とvalueToString
をオーバーライドする必要があります。 特定の方法でgetActions
、getNavigationFilter
、およびgetDocumentFilter
をオーバーライドし、JFormattedTextField
を制限することもできます。
JFormattedTextField
を一時的に無効な状態にすることを許可するサブクラスでは、適切なタイミングでsetEditValid
を呼び出す必要があります。
コンストラクタ | 説明 |
---|---|
AbstractFormatter() |
修飾子と型 | メソッド | 説明 |
---|---|---|
protected Object |
clone() |
AbstractFormatter を複製します。 |
protected Action[] |
getActions() |
Action のカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。 |
protected DocumentFilter |
getDocumentFilter() |
入力を制限する
DocumentFilter を提供する場合は、サブクラス化し、オーバーライドします。 |
protected JFormattedTextField |
getFormattedTextField() |
AbstractFormatter がインストールされている現在のJFormattedTextField を返します。 |
protected NavigationFilter |
getNavigationFilter() |
ユーザーのナビゲート先を制限するフィルタを提供する場合にサブクラス化し、オーバーライドします。
|
void |
install(JFormattedTextField ftf) |
AbstractFormatter を特定のJFormattedTextField にインストールします。 |
protected void |
invalidEdit() |
これはユーザーが不正な文字を入力したときに呼び出されます。
|
protected void |
setEditValid(boolean valid) |
JFormattedTextField のeditValid プロパティを更新するために呼び出します。 |
abstract Object |
stringToValue(String text) |
任意のオブジェクトを返す
text の構文を解析します。 |
void |
uninstall() |
JFormattedTextField にインストールされた、任意の状態のAbstractFormatter をアンインストールします。 |
abstract String |
valueToString(Object value) |
value を表示するための文字列値を返します。 |
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からのアンインストールを示す。public void uninstall()
JFormattedTextField
にインストールされた、任意の状態のAbstractFormatter
をアンインストールします。 JFormattedTextField
にインストールされたDocumentFilter
、NavigationFilter
、および追加Action
がリセットされます。 public abstract Object stringToValue(String text) throws ParseException
text
の構文を解析します。 フォーマッタによってはnullが返されます。 text
- 変換対象の文字列ParseException
- 変換でエラーが発生した場合public abstract String valueToString(Object value) throws ParseException
value
を表示するための文字列値を返します。value
- 変換対象の値ParseException
- 変換でエラーが発生した場合protected JFormattedTextField getFormattedTextField()
AbstractFormatter
がインストールされている現在のJFormattedTextField
を返します。protected void invalidEdit()
protected void setEditValid(boolean valid)
JFormattedTextField
のeditValid
プロパティを更新するために呼び出します。 JFormattedTextField
が常に有効な状態であるようにポリシーを強化している場合は、呼び出す必要はありません。 valid
- JFormattedTextFieldの有効な状態protected Action[] getActions()
Action
のカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。install
により、JFormattedTextField
のActionMap
にインストールされます。protected DocumentFilter getDocumentFilter()
DocumentFilter
を提供する場合は、サブクラス化し、オーバーライドします。install
は戻り値をJFormattedTextField
にインストールします。protected NavigationFilter getNavigationFilter()
install
は戻り値をJFormattedTextField
にインストールします。protected Object clone() throws CloneNotSupportedException
AbstractFormatter
を複製します。 返されるインスタンスはJFormattedTextField
には関連付けられません。 clone
、クラスObject
CloneNotSupportedException
- オブジェクトのクラスがCloneable
インタフェースをサポートしていない場合。 clone
メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。 Cloneable
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。