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

クラスJFormattedTextField.AbstractFormatter

java.lang.Object
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を表示するための文字列値を返します。

    クラス java.lang.Objectで宣言されたメソッド

    equalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

  • メソッドの詳細

    • 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