模块  java.desktop
软件包  javax.swing.text

Class DefaultFormatterFactory

  • 实现的所有接口
    Serializable

    public class DefaultFormatterFactory
    extends JFormattedTextField.AbstractFormatterFactory
    implements Serializable
    执行JFormattedTextField.AbstractFormatterFactory DefaultFormatterFactory允许指定要使用的多个不同的JFormattedTextField.AbstractFormatter 最重要的是默认值( setDefaultFormatter )。 如果找不到更具体的格式化程序,将使用默认格式化程序。 以下过程用于确定要使用的适当格式化程序。
    1. 传入的值是否为null? 使用null格式化程序。
    2. JFormattedTextField有焦点吗? 使用编辑格式化程序。
    3. 否则,请使用显示格式化程序。
    4. 如果未找到非空AbstractFormatter ,请使用默认格式化程序。

    以下代码显示如何使用两个JFormattedTextField.AbstractFormatter配置JFormattedTextField ,一个用于显示,另一个用于编辑。

      JFormattedTextField.AbstractFormatter editFormatter = ...;
     JFormattedTextField.AbstractFormatter displayFormatter = ...;
     DefaultFormatterFactory factory = new DefaultFormatterFactory(
                     displayFormatter, displayFormatter, editFormatter);
     JFormattedTextField tf = new JFormattedTextField(factory); 

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.4
    另请参见:
    JFormattedTextFieldSerialized Form
    • 构造方法详细信息

      • DefaultFormatterFactory

        public DefaultFormatterFactory()
        构造一个 DefaultFormatterFactory
      • DefaultFormatterFactory

        public DefaultFormatterFactory​(JFormattedTextField.AbstractFormatter defaultFormat)
        创建 DefaultFormatterFactory具有指定 JFormattedTextField.AbstractFormatter
        参数
        defaultFormat - 如果找不到更具体的JFormattedTextField.AbstractFormatter,则使用JFormattedTextField.AbstractFormatter。
      • DefaultFormatterFactory

        public DefaultFormatterFactory​(JFormattedTextField.AbstractFormatter defaultFormat,
                                       JFormattedTextField.AbstractFormatter displayFormat)
        创建 DefaultFormatterFactory具有指定 JFormattedTextField.AbstractFormatter秒。
        参数
        defaultFormat - 如果找不到更具体的JFormattedTextField.AbstractFormatter,则使用JFormattedTextField.AbstractFormatter。
        displayFormat - JFormattedTextField没有焦点时要使用的JFormattedTextField.AbstractFormatter。
      • DefaultFormatterFactory

        public DefaultFormatterFactory​(JFormattedTextField.AbstractFormatter defaultFormat,
                                       JFormattedTextField.AbstractFormatter displayFormat,
                                       JFormattedTextField.AbstractFormatter editFormat)
        使用指定的JFormattedTextField.AbstractFormatters创建DefaultFormatterFactory。
        参数
        defaultFormat - 如果找不到更具体的JFormattedTextField.AbstractFormatter,则使用JFormattedTextField.AbstractFormatter。
        displayFormat - JFormattedTextField没有焦点时要使用的JFormattedTextField.AbstractFormatter。
        editFormat - JFormattedTextField具有焦点时要使用的JFormattedTextField.AbstractFormatter。
      • DefaultFormatterFactory

        public DefaultFormatterFactory​(JFormattedTextField.AbstractFormatter defaultFormat,
                                       JFormattedTextField.AbstractFormatter displayFormat,
                                       JFormattedTextField.AbstractFormatter editFormat,
                                       JFormattedTextField.AbstractFormatter nullFormat)
        使用指定的JFormattedTextField.AbstractFormatters创建DefaultFormatterFactory。
        参数
        defaultFormat - 如果找不到更具体的JFormattedTextField.AbstractFormatter,则使用JFormattedTextField.AbstractFormatter。
        displayFormat - JFormattedTextField没有焦点时要使用的JFormattedTextField.AbstractFormatter。
        editFormat - JFormattedTextField具有焦点时要使用的JFormattedTextField.AbstractFormatter。
        nullFormat - JFormattedTextField具有空值时要使用的JFormattedTextField.AbstractFormatter。
    • 方法详细信息

      • setDefaultFormatter

        public void setDefaultFormatter​(JFormattedTextField.AbstractFormatter atf)
        设置 JFormattedTextField.AbstractFormatter作为最后的手段,例如,如果未指定显示,编辑或null JFormattedTextField.AbstractFormatter
        参数
        atf - 如果未指定更具体的内容,则使用JFormattedTextField.AbstractFormatter
      • getDefaultFormatter

        public JFormattedTextField.AbstractFormatter getDefaultFormatter()
        返回 JFormattedTextField.AbstractFormatter以用作最后的手段,例如,如果未指定显示,编辑或null JFormattedTextField.AbstractFormatter
        结果
        如果未指定更具体的一个,则使用JFormattedTextField.AbstractFormatter。
      • setDisplayFormatter

        public void setDisplayFormatter​(JFormattedTextField.AbstractFormatter atf)
        设置 JFormattedTextField.AbstractFormatter如果使用 JFormattedTextField未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。
        参数
        atf - JFormattedTextField没有焦点时使用的JFormattedTextField.AbstractFormatter
      • getDisplayFormatter

        public JFormattedTextField.AbstractFormatter getDisplayFormatter()
        返回 JFormattedTextField.AbstractFormatter如果使用 JFormattedTextField未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。
        结果
        JFormattedTextField没有焦点时使用的JFormattedTextField.AbstractFormatter
      • setEditFormatter

        public void setEditFormatter​(JFormattedTextField.AbstractFormatter atf)
        设置 JFormattedTextField.AbstractFormatter如果使用 JFormattedTextField正在编辑和任一的值不是空,或该值为空和null formatter的尚未指定。
        参数
        atf - 组件具有焦点时要使用的JFormattedTextField.AbstractFormatter
      • getEditFormatter

        public JFormattedTextField.AbstractFormatter getEditFormatter()
        返回 JFormattedTextField.AbstractFormatter如果使用 JFormattedTextField正在编辑和任一的值不是空,或该值为空和null formatter的尚未指定。
        结果
        组件具有焦点时使用的JFormattedTextField.AbstractFormatter
      • setNullFormatter

        public void setNullFormatter​(JFormattedTextField.AbstractFormatter atf)
        如果JFormattedTextField的值为null,则设置要使用的格式化程序。
        参数
        atf - JFormattedTextField的值为null时要使用的JFormattedTextField.AbstractFormatter。
      • getNullFormatter

        public JFormattedTextField.AbstractFormatter getNullFormatter()
        如果值为null,则返回要使用的格式化程序。
        结果
        当值为null时使用JFormattedTextField.AbstractFormatter