モジュール java.desktop
パッケージ 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
    関連項目:
    JFormattedTextField.AbstractFormatter, 「直列化されたフォーム」
    • コンストラクタの詳細

      • DefaultFormatter

        public DefaultFormatter​()
        DefaultFormatterを作成します。
    • メソッドの詳細

      • install

        public void install​(JFormattedTextField ftf)
        DefaultFormatterを特定のJFormattedTextFieldにインストールします。 これによりvalueToStringが呼び出されて、現在の値がJFormattedTextFieldからStringへ変換されます。 次に、getActionsからのActiongetDocumentFilterから返されたDocumentFiltergetNavigationFilterから返された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の場合、DefaultFormatterJFormattedTextFieldに編集を通知しません。 このように、JFormattedTextFieldの値が変更されるのは、commitEditJFormattedTextField上で呼び出されるときだけであり、通常は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)
        編集中の値を一定時間無効(つまりstringToValueParseExceptionをスローする)にできるかどうかを設定します。 これは、無効な値の入力をユーザーに一時的に許可する場合に便利な機能です。
        パラメータ:
        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 - 変換でエラーが発生した場合
      • clone

        public Object clone​()
                     throws CloneNotSupportedException
        DefaultFormatterのコピーを作成します。
        オーバーライド:
        clone、クラス: JFormattedTextField.AbstractFormatter
        戻り値:
        DefaultFormatterのコピー
        例外:
        CloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。 cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。
        関連項目:
        Cloneable