public class DefaultFormatter extends JFormattedTextField.AbstractFormatter implements Cloneable, Serializable
DefaultFormatterは、任意のオブジェクトのフォーマットを行います。フォーマットは、toStringメソッドを呼び出すことで実行されます。値を再度Stringへ変換するためには、使用するクラスでString引数を取るコンストラクタを提供する必要があります。Stringを取る単一引数のコンストラクタが1つも見つからない場合は、stringToValueへ渡されたStringが戻り値となります。
DefaultFormatterのインスタンスは、JFormattedTextFieldの複数インスタンスでは使用できません。構成済みのDefaultFormatterのコピーを取得するには、cloneメソッドを使用します。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。1.4以降、すべてのJavaBeans(tm)用の長期間の格納サポートがjava.beansパッケージに追加されています。XMLEncoderを参照してください。
JFormattedTextField.AbstractFormatter| コンストラクタと説明 |
|---|
DefaultFormatter()
DefaultFormatterを作成します。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
Object |
clone()
DefaultFormatterのコピーを作成します。
|
boolean |
getAllowsInvalid()
編集中の値を一定時間無効にできるかどうかを返します。
|
boolean |
getCommitsOnValidEdit()
編集がいつ
JFormattedTextFieldに発行されるかを返します。 |
protected DocumentFilter |
getDocumentFilter()
JFormattedTextFieldに入力可能な文字を限定するDocumentFilterを返します。 |
protected NavigationFilter |
getNavigationFilter()
カーソルを配置できる場所を限定する
NavigationFilterを返します。 |
boolean |
getOverwriteMode()
文字の挿入時の動作を返します。
|
Class<?> |
getValueClass()
新規Objectの作成に使用するクラスを返します。
|
void |
install(JFormattedTextField ftf)
DefaultFormatterを特定のJFormattedTextFieldにインストールします。 |
void |
setAllowsInvalid(boolean allowsInvalid)
編集中の値を一定時間無効(つまり
stringToValueがParseExceptionをスローする)にできるかどうかを設定します。 |
void |
setCommitsOnValidEdit(boolean commit)
編集がいつ
JFormattedTextFieldに発行されるかを設定します。 |
void |
setOverwriteMode(boolean overwriteMode)
文字の挿入時の動作を構成します。
|
void |
setValueClass(Class<?> valueClass)
新規Objectの作成に使用するクラスを設定します。
|
Object |
stringToValue(String string)
String引数を取るコンストラクタによって、渡されたStringを
getValueClassのインスタンスに変換します。 |
String |
valueToString(Object value)
渡されたObjectを
toStringメソッドを介してStringに変換します。 |
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstallpublic void install(JFormattedTextField ftf)
DefaultFormatterを特定のJFormattedTextFieldにインストールします。これによりvalueToStringが呼び出されて、現在の値がJFormattedTextFieldからStringへ変換されます。次に、getActionsからのAction、getDocumentFilterから返されたDocumentFilter、getNavigationFilterから返されたNavigationFilterが、JFormattedTextFieldにインストールされます。
通常、サブクラスでのオーバーライドが必要になるのは、JFormattedTextFieldに追加リスナーをインストールする場合だけです。
現在の値をStringに変換するときにParseExceptionが発生した場合は、テキストとして空のStringが設定され、JFormattedTextFieldに不正な状態を示す値が設定されます。
これはpublicメソッドですが、通常はJFormattedTextFieldのサブクラスに対してだけ有効です。値が変更されるか、内部状態が変更される場合、JFormattedTextFieldによりこのメソッドが適切なタイミングで呼び出されます。
install、クラス: JFormattedTextField.AbstractFormatterftf - フォーマット対象のJformattedTextField。nullの場合は、現在のJFormattedTextFieldからのアンインストールを示す。public void setCommitsOnValidEdit(boolean commit)
JFormattedTextFieldに発行されるかを設定します。trueの場合、有効な編集後、常に(文字列が編集されるたびに) commitEditが呼び出されます。一方、falseの場合、DefaultFormatterはJFormattedTextFieldに編集を通知しません。このように、JFormattedTextFieldの値が変更されるのは、commitEditがJFormattedTextField上で呼び出されるときだけであり、通常はEnterキーが押されたときか、フォーカスがJFormattedTextFieldにとどまっている場合が該当します。commit - 編集がいつJTextComponentにコミットされたかを示すために使用されるpublic boolean getCommitsOnValidEdit()
JFormattedTextFieldに発行されるかを返します。public void setOverwriteMode(boolean overwriteMode)
overwriteModeがtrue (デフォルト)の場合、新規文字でモデル内の既存の文字が上書きされます。overwriteMode - 上書きモードが使用されているかどうかを示すpublic boolean getOverwriteMode()
public void setAllowsInvalid(boolean allowsInvalid)
stringToValueがParseExceptionをスローする)にできるかどうかを設定します。これは、無効な値の入力をユーザーに一時的に許可する場合に便利な機能です。allowsInvalid - 編集した値を常に有効にする必要があるかどうかを示すのに使用されるpublic boolean getAllowsInvalid()
public void setValueClass(Class<?> valueClass)
valueClass - stringToValueからの戻り値の構築に使用するクラスpublic Class<?> getValueClass()
public Object stringToValue(String string) throws ParseException
getValueClassのインスタンスに変換します。getValueClassがnullを返す場合、JFormattedTextField内の現行の値のClassが使用されます。これがnullの場合、Stringが返されます。コンストラクタが例外をスローする場合は、ParseExceptionがスローされます。単一引数のStringコンストラクタが存在しない場合、stringが返されます。stringToValue、クラス: JFormattedTextField.AbstractFormatterstring - 変換対象の文字列ParseException - 変換でエラーが発生した場合public String valueToString(Object value) throws ParseException
toStringメソッドを介してStringに変換します。valueToString、クラス: JFormattedTextField.AbstractFormattervalue - 変換対象の値ParseException - 変換でエラーが発生した場合protected DocumentFilter getDocumentFilter()
JFormattedTextFieldに入力可能な文字を限定するDocumentFilterを返します。getDocumentFilter、クラス: JFormattedTextField.AbstractFormatterprotected NavigationFilter getNavigationFilter()
NavigationFilterを返します。getNavigationFilter、クラス: JFormattedTextField.AbstractFormatterpublic Object clone() throws CloneNotSupportedException
clone、クラス: JFormattedTextField.AbstractFormatterCloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。Cloneable バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.