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
を呼び出す必要があります。
コンストラクタと説明 |
---|
JFormattedTextField.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, 2013, Oracle and/or its affiliates. All rights reserved.