クラスDefaultFormatter
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 DocumentFilterJFormattedTextFieldに入力可能な文字を限定するDocumentFilterを返します。protected NavigationFilterカーソルを配置できる場所を限定するNavigationFilterを返します。boolean文字の挿入時の動作を返します。Class<?> 新規Objectの作成に使用するクラスを返します。voidDefaultFormatterを特定のJFormattedTextFieldにインストールします。voidsetAllowsInvalid(boolean allowsInvalid) 編集中の値を一定時間無効(つまりstringToValueがParseExceptionをスローする)にできるかどうかを設定します。voidsetCommitsOnValidEdit(boolean commit) 編集がいつJFormattedTextFieldに発行されるかを設定します。voidsetOverwriteMode(boolean overwriteMode) 文字の挿入時の動作を構成します。voidsetValueClass(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
-
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メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。- 関連項目:
-