モジュール javafx.controls
パッケージ javafx.scene.control

クラスTextFormatter<V>

  • 型パラメータ:
    V - 値の型

    public class TextFormatter<V>
    extends Object
    Formatterは、次の2つのメカニズムを使用してTextInputControlテキストのフォーマットを記述します。
    • ユーザー入力をインターセプトおよび変更できるフィルタ(getFilter())。 これは、テキストの目的のフォーマットを保持する際に役立ちます。 デフォルトのテキスト・サプライヤを使用すると、初期テキストを提供できます。
    • 値コンバータ(getValueConverter())および値(valueProperty())を使用すると、V型の値を表す特殊なフォーマットを提供できます。 コントロールが編集可能な場合、ユーザーによりテキストが変更されると、値はテキストと一致するように更新されます。

    フィルタのみまたは値コンバータのみを含むフォーマッタにすることも可能です。 ただし、値コンバータが提供されていない場合、値を設定するとIllegalStateExceptionが発生し、値は常にnullとなります。

    Formatterには、その現在の割当て先であるTextInputControlの状態を表す値が含まれるため、1つのTextInputControlで一度に使用できるFormatterインスタンスは1つのみです。

    導入されたバージョン:
    JavaFX 8u40
    • プロパティの詳細

      • value

        public final ObjectProperty<V> valueProperty
        このフォーマッタの現在の値。 フォーマッタがTextInputControlに設定され、valueConverterを持つ場合、テキストがコミットされると、コントロールによって値が設定されます。
        関連項目:
        getValue()setValue(V)
    • フィールドの詳細

      • IDENTITY_STRING_CONVERTER

        public static final StringConverter<String> IDENTITY_STRING_CONVERTER
        この文字列コンバータは、テキストを同じString値に変換します。 これは、テキストを仕様して値を操作する場合や、デフォルトのテキスト値を提供する必要がある場合に便利です。
    • コンストラクタの詳細

      • TextFormatter

        public TextFormatter​(UnaryOperator<TextFormatter.Change> filter)
        提供されたフィルタを使用して新しいFormatterを作成します。
        パラメータ:
        filter - このフォーマッタで使用するフィルタ、またはnull
      • TextFormatter

        public TextFormatter​(StringConverter<V> valueConverter,
                             V defaultValue,
                             UnaryOperator<TextFormatter.Change> filter)
        提供されたフィルタ、値コンバータおよびデフォルト値を使用して新しいFormatterを作成します。
        パラメータ:
        valueConverter - このフォーマッタで使用する値コンバータ、またはnull。
        defaultValue - デフォルト値。
        filter - このフォーマッタで使用するフィルタ、またはnull
      • TextFormatter

        public TextFormatter​(StringConverter<V> valueConverter,
                             V defaultValue)
        提供された値コンバータおよびデフォルト値を使用して新しいFormatterを作成します。
        パラメータ:
        valueConverter - このフォーマッタで使用する値コンバータ。 nullは指定できません。
        defaultValue - デフォルト値
      • TextFormatter

        public TextFormatter​(StringConverter<V> valueConverter)
        提供された値コンバータを使用して新しいFormatterを作成します。 デフォルト値はnullになります。
        パラメータ:
        valueConverter - このフォーマッタで使用する値コンバータ。 nullは指定できません。
    • メソッドの詳細

      • getValueConverter

        public final StringConverter<V> getValueConverter()
        値とテキストの間でのコンバータ。 TextInputControl.textProperty() }とvalueProperty() }の間の"バインディング"を管理します。 コントロールがフォーカスを失った場合、または値がコミットされた場合(TextFieldのみ)、値が更新されます。 値を設定すると、提供されたコンバータを使用してコントロールのテキストが更新されます。 テキストを値に変換できない場合は、例外がスローされます。
        戻り値:
        値のStringConverter、何も提供されていない場合はnull
        関連項目:
        TextInputControl.commitValue()TextInputControl.cancelEdit()
      • getFilter

        public final UnaryOperator<TextFormatter.Change> getFilter()
        フィルタによって、ユーザーはテキスト・コンテンツに対して行われた変更をインターセプトおよび変更できます。

        フィルタ自体は、TextFormatter.Changeオブジェクトを受け入れるUnaryOperatorです。 実際の(フィルタ処理された)変更を含むTextFormatter.Changeオブジェクトを返します。 nullを返すと、変更が拒否されます。

        戻り値:
        このフォーマッタのフィルタ、存在しない場合はnull
      • valueProperty

        public final ObjectProperty<V> valueProperty()
        このフォーマッタの現在の値。 フォーマッタがTextInputControlに設定され、valueConverterを持つ場合、テキストがコミットされると、コントロールによって値が設定されます。
        関連項目:
        getValue()setValue(V)
      • setValue

        public final void setValue​(V value)
        プロパティvalueの値を設定します。
        プロパティの説明:
        このフォーマッタの現在の値。 フォーマッタがTextInputControlに設定され、valueConverterを持つ場合、テキストがコミットされると、コントロールによって値が設定されます。
      • getValue

        public final V getValue()
        プロパティvalueの値を取得します。
        プロパティの説明:
        このフォーマッタの現在の値。 フォーマッタがTextInputControlに設定され、valueConverterを持つ場合、テキストがコミットされると、コントロールによって値が設定されます。