- java.lang.Object
-
- javax.swing.JFormattedTextField.AbstractFormatterFactory
-
- javax.swing.text.DefaultFormatterFactory
-
- All Implemented Interfaces:
-
Serializable
public class DefaultFormatterFactory extends JFormattedTextField.AbstractFormatterFactory implements Serializable
执行JFormattedTextField.AbstractFormatterFactory。DefaultFormatterFactory允许指定要使用的数量不同的JFormattedTextField.AbstractFormatters。 最重要的一个是默认的(setDefaultFormatter)。 如果找不到更具体的格式化程序,将使用默认格式化程序。 以下过程用于确定要使用的适当格式化程序。- 传递值是否为null? 使用null格式化程序。
-
JFormattedTextField有焦点吗? 使用编辑格式化程序。 - 否则,使用显示格式化程序。
- 如果未找到非空值
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
- 另请参见:
-
JFormattedTextField, Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 DefaultFormatterFactory()构造一个DefaultFormatterFactory。DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat)创建一个DefaultFormatterFactory与指定的JFormattedTextField.AbstractFormatter。DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat)创建一个DefaultFormatterFactory与指定的JFormattedTextField.AbstractFormatters。DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat)用指定的JFormattedTextField.AbstractFormatter创建一个DefaultFormatterFactory。DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat, JFormattedTextField.AbstractFormatter nullFormat)用指定的JFormattedTextField.AbstractFormatter创建一个DefaultFormatterFactory。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 JFormattedTextField.AbstractFormattergetDefaultFormatter()返回JFormattedTextField.AbstractFormatter作为最后的手段,例如,如果未指定显示,编辑或空值JFormattedTextField.AbstractFormatter。JFormattedTextField.AbstractFormattergetDisplayFormatter()返回JFormattedTextField.AbstractFormatter,如果使用JFormattedTextField未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。JFormattedTextField.AbstractFormattergetEditFormatter()返回JFormattedTextField.AbstractFormatter,如果使用JFormattedTextField正在编辑和任一的值不是空,或该值为空和null formatter的尚未指定。JFormattedTextField.AbstractFormattergetFormatter(JFormattedTextField source)根据JFormattedTextField的状态返回默认格式化程序,显示格式化程序,编辑器格式化程序或空格式化程序。JFormattedTextField.AbstractFormattergetNullFormatter()如果值为null,则返回要使用的格式化程序。voidsetDefaultFormatter(JFormattedTextField.AbstractFormatter atf)设置JFormattedTextField.AbstractFormatter作为最后的手段,例如,如果未指定显示,编辑或空值JFormattedTextField.AbstractFormatter。voidsetDisplayFormatter(JFormattedTextField.AbstractFormatter atf)设置JFormattedTextField.AbstractFormatter,如果使用JFormattedTextField未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。voidsetEditFormatter(JFormattedTextField.AbstractFormatter atf)将JFormattedTextField.AbstractFormatter设置为JFormattedTextField.AbstractFormatter,如果正在编辑JFormattedTextField,并且该值不为空,或者该值为空,并且未指定一个空格式化程序。voidsetNullFormatter(JFormattedTextField.AbstractFormatter atf)如果JFormattedTextField的值为空,则将格式化程序设置为使用。
-
-
-
构造方法详细信息
-
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.AbstractFormatters。- 参数
-
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
-
getFormatter
public JFormattedTextField.AbstractFormatter getFormatter(JFormattedTextField source)
根据JFormattedTextField的状态返回默认格式化程序,显示格式化程序,编辑器格式化程序或空格式化程序。- Specified by:
-
getFormatter在JFormattedTextField.AbstractFormatterFactory - 参数
-
source- JFormattedTextField请求JFormattedTextField.AbstractFormatter - 结果
- JFormattedTextField.AbstractFormatter处理格式化任务。
-
-