モジュール java.desktop
パッケージ javax.swing

クラスJFormattedTextField.AbstractFormatter

  • すべての実装されたインタフェース:
    Serializable
    直系の既知のサブクラス:
    DefaultFormatter
    含まれているクラス:
    JFormattedTextField

    public abstract static class JFormattedTextField.AbstractFormatter
    extends Object
    implements Serializable
    AbstractFormatterのインスタンスは、ObjectからStringおよびStringからObjectへの変換を処理するためにJFormattedTextFieldで使用されます。 AbstractFormatterは、編集ポリシーやナビゲーション・ポリシーを強化したり、JFormattedTextFieldの表示方法を操作して必要なポリシーを強化したりもできます。

    AbstractFormatterは一度に1つのJFormattedTextFieldだけで有効です。 JFormattedTextFieldは使用準備ができたときにinstallを呼び出し、使用を終了するとuninstallを呼び出します。 追加の状態をインストールするサブクラスは必要に応じてinstallをオーバーライドし、上位クラスに通知を行います。

    サブクラスは変換メソッドのstringToValuevalueToStringをオーバーライドする必要があります。 特定の方法でgetActionsgetNavigationFilter、およびgetDocumentFilterをオーバーライドし、JFormattedTextFieldを制限することもできます。

    JFormattedTextFieldを一時的に無効な状態にすることを許可するサブクラスでは、適切なタイミングでsetEditValidを呼び出す必要があります。

    導入されたバージョン:
    1.4
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      AbstractFormatter()  
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      protected Object clone()
      AbstractFormatterを複製します。
      protected Action[] getActions()
      Actionのカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。
      protected DocumentFilter getDocumentFilter()
      入力を制限するDocumentFilterを提供する場合は、サブクラス化し、オーバーライドします。
      protected JFormattedTextField getFormattedTextField()
      AbstractFormatterがインストールされている現在のJFormattedTextFieldを返します。
      protected NavigationFilter getNavigationFilter()
      ユーザーのナビゲート先を制限するフィルタを提供する場合にサブクラス化し、オーバーライドします。
      void install​(JFormattedTextField ftf)
      AbstractFormatterを特定のJFormattedTextFieldにインストールします。
      protected void invalidEdit()
      これはユーザーが不正な文字を入力したときに呼び出されます。
      protected void setEditValid​(boolean valid)
      JFormattedTextFieldeditValidプロパティを更新するために呼び出します。
      abstract Object stringToValue​(String text)
      任意のオブジェクトを返すtextの構文を解析します。
      void uninstall()
      JFormattedTextFieldにインストールされた、任意の状態のAbstractFormatterをアンインストールします。
      abstract String valueToString​(Object value)
      valueを表示するための文字列値を返します。
    • コンストラクタの詳細

      • AbstractFormatter

        public AbstractFormatter()
    • メソッドの詳細

      • install

        public void install​(JFormattedTextField ftf)
        AbstractFormatterを特定のJFormattedTextFieldにインストールします。 これによりvalueToStringが呼び出されて、現在の値がJFormattedTextFieldからStringへ変換されます。 次に、getActionsからのActiongetDocumentFilterから返されたDocumentFiltergetNavigationFilterから返されたNavigationFilterが、JFormattedTextFieldにインストールされます。

        通常、サブクラスでのオーバーライドが必要になるのは、JFormattedTextFieldに追加リスナーをインストールする場合だけです。

        現在の値をStringに変換するときにParseExceptionが発生した場合は、テキストとして空のStringが設定され、JFormattedTextFieldに不正な状態を示す値が設定されます。

        これはpublicメソッドですが、通常はJFormattedTextFieldのサブクラスに対してだけ有効です。 値が変更されるか、内部状態が変更される場合、JFormattedTextFieldによりこのメソッドが適切なタイミングで呼び出されます。 ユーザー自身が呼び出す必要があるのは、JFormattedTextFieldをサブクラス化している場合、およびAbstractFormatterJFormattedTextFieldとは異なるタイミングでインストールまたはアンインストールしている場合だけです。

        パラメータ:
        ftf - フォーマット対象のJformattedTextField。nullの場合は、現在のJFormattedTextFieldからのアンインストールを示す。
      • uninstall

        public void uninstall()
        JFormattedTextFieldにインストールされた、任意の状態のAbstractFormatterをアンインストールします。 JFormattedTextFieldにインストールされたDocumentFilterNavigationFilter、および追加Actionがリセットされます。
      • stringToValue

        public abstract Object stringToValue​(String text)
                                      throws ParseException
        任意のオブジェクトを返すtextの構文を解析します。 フォーマッタによってはnullが返されます。
        パラメータ:
        text - 変換対象の文字列
        戻り値:
        テキストのオブジェクト表現
        例外:
        ParseException - 変換でエラーが発生した場合
      • valueToString

        public abstract String valueToString​(Object value)
                                      throws ParseException
        valueを表示するための文字列値を返します。
        パラメータ:
        value - 変換対象の値
        戻り値:
        値の文字列表現
        例外:
        ParseException - 変換でエラーが発生した場合
      • getFormattedTextField

        protected JFormattedTextField getFormattedTextField()
        AbstractFormatterがインストールされている現在のJFormattedTextFieldを返します。
        戻り値:
        フォーマット対象のJFormattedTextField。
      • invalidEdit

        protected void invalidEdit()
        これはユーザーが不正な文字を入力したときに呼び出されます。 呼出しを現在のJFormattedTextFieldに転送します。
      • setEditValid

        protected void setEditValid​(boolean valid)
        JFormattedTextFieldeditValidプロパティを更新するために呼び出します。 JFormattedTextFieldが常に有効な状態であるようにポリシーを強化している場合は、呼び出す必要はありません。
        パラメータ:
        valid - JFormattedTextFieldの有効な状態
      • getActions

        protected Action[] getActions()
        Actionのカスタム・セットを提供する場合は、サブクラス化してオーバーライドします。installにより、JFormattedTextFieldActionMapにインストールされます。
        戻り値:
        JformattedTextFieldにインストールするアクションの配列
      • getDocumentFilter

        protected DocumentFilter getDocumentFilter()
        入力を制限するDocumentFilterを提供する場合は、サブクラス化し、オーバーライドします。installは戻り値をJFormattedTextFieldにインストールします。
        戻り値:
        編集を制限するDocumentFilter
      • getNavigationFilter

        protected NavigationFilter getNavigationFilter()
        ユーザーのナビゲート先を制限するフィルタを提供する場合にサブクラス化し、オーバーライドします。installは戻り値をJFormattedTextFieldにインストールします。
        戻り値:
        ナビゲーションを制限するNavigationFilter
      • clone

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