java.lang.Object
javax.swing.JFormattedTextField.AbstractFormatter
javax.swing.text.DefaultFormatter
- すべての実装されたインタフェース:
Serializable
,Cloneable
- 直系の既知のサブクラス:
InternationalFormatter
,MaskFormatter
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
を参照してください。
- 導入されたバージョン:
- 1.4
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明clone()
DefaultFormatterのコピーを作成します。boolean
編集中の値を一定時間無効にできるかどうかを返します。boolean
編集がいつJFormattedTextField
に発行されるかを返します。protected DocumentFilter
JFormattedTextField
に入力可能な文字を限定するDocumentFilter
を返します。protected NavigationFilter
カーソルを配置できる場所を限定するNavigationFilter
を返します。boolean
文字の挿入時の動作を返します。Class<?>
新規Objectの作成に使用するクラスを返します。void
DefaultFormatter
を特定のJFormattedTextField
にインストールします。void
setAllowsInvalid
(boolean allowsInvalid) 編集中の値を一定時間無効(つまりstringToValue
がParseException
をスローする)にできるかどうかを設定します。void
setCommitsOnValidEdit
(boolean commit) 編集がいつJFormattedTextField
に発行されるかを設定します。void
setOverwriteMode
(boolean overwriteMode) 文字の挿入時の動作を構成します。void
setValueClass
(Class<?> valueClass) 新規Objectの作成に使用するクラスを設定します。stringToValue
(String string) String引数を取るコンストラクタによって、渡されたStringをgetValueClass
のインスタンスに変換します。valueToString
(Object value) 渡されたObjectをtoString
メソッドを介してStringに変換します。クラス javax.swing.JFormattedTextField.AbstractFormatterで宣言されたメソッド
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall
-
コンストラクタの詳細
-
DefaultFormatter
public DefaultFormatter()DefaultFormatterを作成します。
-
-
メソッドの詳細
-
install
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からのアンインストールを示す。
-
setCommitsOnValidEdit
public void setCommitsOnValidEdit(boolean commit) 編集がいつJFormattedTextField
に発行されるかを設定します。 trueの場合、有効な編集後、常に(文字列が編集されるたびに)commitEdit
が呼び出されます。 一方、falseの場合、DefaultFormatter
はJFormattedTextField
に編集を通知しません。 このように、JFormattedTextField
の値が変更されるのは、commitEdit
がJFormattedTextField
上で呼び出されるときだけであり、通常はEnterキーが押されたときか、フォーカスがJFormattedTextField
にとどまっている場合が該当します。- パラメータ:
commit
- 編集がいつJTextComponentにコミットされたかを示すために使用される
-
getCommitsOnValidEdit
public boolean getCommitsOnValidEdit()編集がいつJFormattedTextField
に発行されるかを返します。- 戻り値:
- 有効な編集後に編集がコミットされた場合はtrue
-
setOverwriteMode
public void setOverwriteMode(boolean overwriteMode) 文字の挿入時の動作を構成します。overwriteMode
がtrue (デフォルト)の場合、新規文字でモデル内の既存の文字が上書きされます。- パラメータ:
overwriteMode
- 上書きモードが使用されているかどうかを示す
-
getOverwriteMode
public boolean getOverwriteMode()文字の挿入時の動作を返します。- 戻り値:
- 新規に挿入された文字が既存の文字を上書きする場合は、true
-
setAllowsInvalid
public void setAllowsInvalid(boolean allowsInvalid) 編集中の値を一定時間無効(つまりstringToValue
がParseException
をスローする)にできるかどうかを設定します。 これは、無効な値の入力をユーザーに一時的に許可する場合に便利な機能です。- パラメータ:
allowsInvalid
- 編集した値を常に有効にする必要があるかどうかを示すのに使用される
-
getAllowsInvalid
public boolean getAllowsInvalid()編集中の値を一定時間無効にできるかどうかを返します。- 戻り値:
- 編集した値を常に有効にする必要がある場合は、false
-
setValueClass
public void setValueClass(Class<?> valueClass) 新規Objectの作成に使用するクラスを設定します。 渡されたクラスにStringを取る単一引数のコンストラクタがない場合、Stringの値が使用されます。- パラメータ:
valueClass
- stringToValueからの戻り値の構築に使用するクラス
-
getValueClass
public Class<?> getValueClass()新規Objectの作成に使用するクラスを返します。- 戻り値:
- stringToValueからの戻り値の構築に使用するクラス
-
stringToValue
public Object stringToValue(String string) throws ParseException String引数を取るコンストラクタによって、渡されたStringをgetValueClass
のインスタンスに変換します。getValueClass
がnullを返す場合、JFormattedTextField
内の現行の値のClassが使用されます。 これがnullの場合、Stringが返されます。 コンストラクタが例外をスローする場合は、ParseException
がスローされます。 単一引数のStringコンストラクタが存在しない場合、string
が返されます。- 定義:
stringToValue
、クラスJFormattedTextField.AbstractFormatter
- パラメータ:
string
- 変換対象の文字列- 戻り値:
- テキストのオブジェクト表現
- 例外:
ParseException
- 変換でエラーが発生した場合
-
valueToString
public String valueToString(Object value) throws ParseException 渡されたObjectをtoString
メソッドを介してStringに変換します。- 定義:
valueToString
、クラスJFormattedTextField.AbstractFormatter
- パラメータ:
value
- 変換対象の値- 戻り値:
- 値の文字列表現
- 例外:
ParseException
- 変換でエラーが発生した場合
-
getDocumentFilter
protected DocumentFilter getDocumentFilter()JFormattedTextField
に入力可能な文字を限定するDocumentFilter
を返します。- オーバーライド:
getDocumentFilter
、クラスJFormattedTextField.AbstractFormatter
- 戻り値:
- 編集を制限するDocumentFilter
-
clone
public Object clone() throws CloneNotSupportedExceptionDefaultFormatterのコピーを作成します。- オーバーライド:
clone
、クラスJFormattedTextField.AbstractFormatter
- 戻り値:
- DefaultFormatterのコピー
- 例外:
CloneNotSupportedException
- オブジェクトのクラスがCloneable
インタフェースをサポートしていない場合。clone
メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。- 関連項目:
-