Module  java.desktop
软件包  javax.swing.text

Class DefaultFormatterFactory

  • All Implemented Interfaces:
    Serializable


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

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

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

    警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有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 s。
        参数
        defaultFormat - 如果无法找到更具体的JFormattedTextField.AbstractFormatter,则使用JFormattedTextField.AbstractFormatter。
        displayFormat - JFormattedTextField.AbstractFormatter在JFormattedTextField没有焦点时使用。
      • DefaultFormatterFactory

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

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

      • setDefaultFormatter

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

        public JFormattedTextField.AbstractFormatter getDefaultFormatter​()
        返回 JFormattedTextField.AbstractFormatter作为最后手段使用,例如,如果未指定显示,编辑或空值 JFormattedTextField.AbstractFormatter
        结果
        如果没有指定更具体的,则使用JFormattedTextField.AbstractFormatter。
      • setDisplayFormatter

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

        public JFormattedTextField.AbstractFormatter getDisplayFormatter​()
        返回 JFormattedTextField.AbstractFormatter ,如果使用 JFormattedTextField未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。
        结果
        JFormattedTextField.AbstractFormatter在JFormattedTextField没有焦点时使用
      • 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的值为空,则将格式化程序设置为使用。
        参数
        atf - JFormattedTextField.AbstractFormatter在JFormattedTextField的值为null时使用。
      • getNullFormatter

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