- 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.AbstractFormatter
s。 最重要的一个是默认的(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.AbstractFormatter
s。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.AbstractFormatter
getDefaultFormatter()
返回JFormattedTextField.AbstractFormatter
作为最后的手段,例如,如果未指定显示,编辑或空值JFormattedTextField.AbstractFormatter
。JFormattedTextField.AbstractFormatter
getDisplayFormatter()
返回JFormattedTextField.AbstractFormatter
,如果使用JFormattedTextField
未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。JFormattedTextField.AbstractFormatter
getEditFormatter()
返回JFormattedTextField.AbstractFormatter
,如果使用JFormattedTextField
正在编辑和任一的值不是空,或该值为空和null formatter的尚未指定。JFormattedTextField.AbstractFormatter
getFormatter(JFormattedTextField source)
根据JFormattedTextField的状态返回默认格式化程序,显示格式化程序,编辑器格式化程序或空格式化程序。JFormattedTextField.AbstractFormatter
getNullFormatter()
如果值为null,则返回要使用的格式化程序。void
setDefaultFormatter(JFormattedTextField.AbstractFormatter atf)
设置JFormattedTextField.AbstractFormatter
作为最后的手段,例如,如果未指定显示,编辑或空值JFormattedTextField.AbstractFormatter
。void
setDisplayFormatter(JFormattedTextField.AbstractFormatter atf)
设置JFormattedTextField.AbstractFormatter
,如果使用JFormattedTextField
未被编辑和任一的值不是空,或该值为空和null formatter的尚未指定。void
setEditFormatter(JFormattedTextField.AbstractFormatter atf)
将JFormattedTextField.AbstractFormatter
设置为JFormattedTextField.AbstractFormatter
,如果正在编辑JFormattedTextField
,并且该值不为空,或者该值为空,并且未指定一个空格式化程序。void
setNullFormatter(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.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
-
getFormatter
public JFormattedTextField.AbstractFormatter getFormatter(JFormattedTextField source)
根据JFormattedTextField的状态返回默认格式化程序,显示格式化程序,编辑器格式化程序或空格式化程序。- Specified by:
-
getFormatter
在JFormattedTextField.AbstractFormatterFactory
- 参数
-
source
- JFormattedTextField请求JFormattedTextField.AbstractFormatter - 结果
- JFormattedTextField.AbstractFormatter处理格式化任务。
-
-