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, 2014, Oracle and/or its affiliates. All rights reserved.