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 以降、すべての JavaBeansTM 用の長期間の格納サポートが 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, 2013, Oracle and/or its affiliates. All rights reserved.