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™用の長期間の格納サポートが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, uninstall
public 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.AbstractFormatter
ftf
- フォーマット対象の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.AbstractFormatter
string
- 変換対象の文字列ParseException
- 変換でエラーが発生した場合public String valueToString(Object value) throws ParseException
toString
メソッドを介してStringに変換します。valueToString
、クラスJFormattedTextField.AbstractFormatter
value
- 変換対象の値ParseException
- 変換でエラーが発生した場合protected DocumentFilter getDocumentFilter()
JFormattedTextField
に入力可能な文字を限定するDocumentFilter
を返します。getDocumentFilter
、クラスJFormattedTextField.AbstractFormatter
protected NavigationFilter getNavigationFilter()
NavigationFilter
を返します。getNavigationFilter
、クラスJFormattedTextField.AbstractFormatter
public Object clone() throws CloneNotSupportedException
clone
、クラスJFormattedTextField.AbstractFormatter
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も参照してください。