モジュール 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
関連項目:
  • コンストラクタの詳細

    • 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 - 変換でエラーが発生した場合
    • 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
    • getNavigationFilter

      protected NavigationFilter getNavigationFilter()
      カーソルを配置できる場所を限定するNavigationFilterを返します。
      オーバーライド:
      getNavigationFilter、クラスJFormattedTextField.AbstractFormatter
      戻り値:
      ナビゲーションを制限するNavigationFilter
    • clone

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