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、クラス: ObjectCloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。Cloneable バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.