Module  javafx.controls
软件包  javafx.scene.control

Class TextFormatter<V>

  • 参数类型
    V - 值的类型


    public class TextFormatter<V>
    extends Object
    格式化器通过使用两种不同的机制来描述TextInputControl文本的格式:
    • 可以拦截和修改用户输入的过滤器( getFilter() )。 这有助于保持所需格式的文本。 可以使用默认文本供应商来提供初始文本。
    • 值转换器( getValueConverter() )和值( valueProperty() )可用于提供表示V型值的特殊格式。 如果控件是可编辑的,并且文本被用户改变,则该值被更新为对应于文本。

    只需要一个格式化器就可以使用过滤器或值转换器。 如果不提供值转换器,则设置一个值将导致一个IllegalStateException ,该值始终为空。

    由于Formatter包含一个表示其当前分配到的TextInputControl的状态的值,因此一个Formatter实例只能在一个TextInputControl中使用。

    从以下版本开始:
    JavaFX 8u40
    • Property Detail

      • value

        public final ObjectProperty<V> valueProperty
        该格式化程序的当前值。 当格式化器设置为TextInputControl并具有valueConverter ,该值由控件在文本被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)
        使用提供的过滤器,值转换器和默认值创建一个新的格式化器。
        参数
        valueConverter - 在此格式化程序中使用的值转换器或null。
        defaultValue - 默认值。
        filter - 在此格式化程序中使用的过滤器或null
      • TextFormatter

        public TextFormatter​(StringConverter<V> valueConverter,
                             V defaultValue)
        使用提供的值转换器和默认值创建一个新的格式化器。
        参数
        valueConverter - 在此格式化程序中使用的值转换器。 这不能为空。
        defaultValue - 默认值
      • TextFormatter

        public TextFormatter​(StringConverter<V> valueConverter)
        使用提供的值转换器创建一个新的格式化器。 默认值为null。
        参数
        valueConverter - 在此格式化程序中使用的值转换器。 这不能为空。
    • 方法详细信息

      • getFilter

        public final UnaryOperator<TextFormatter.Change> getFilter​()
        过滤器允许用户截取和修改对文本内容所做的任何更改。

        该过滤器本身是一个UnaryOperator接受TextFormatter.Change对象。 它应该返回一个包含实际(过滤的)更改的TextFormatter.Change对象。 返回null拒绝更改。

        结果
        这个格式化程序的过滤器,如果没有,则返回null
      • valueProperty

        public final ObjectProperty<V> valueProperty​()
        该格式化程序的当前值。 当格式化程序设置为TextInputControl并具有valueConverter ,该值由控件在文本被valueConverter设置。
        另请参见:
        getValue()setValue(V)
      • setValue

        public final void setValue​(V value)
        设置属性值的值。
        Property description:
        该格式化程序的当前值。 当格式化器设置在TextInputControl并且具有valueConverter ,该值由控件在文本被valueConverter设置。
      • getValue

        public final V getValue​()
        获取属性值的值。
        Property description:
        该格式化程序的当前值。 当格式化器设置为TextInputControl并具有valueConverter ,该值由控件设置,当文本被提交时。