- java.lang.Object
-
- javax.swing.JFormattedTextField.AbstractFormatter
-
- 实现的所有接口
-
Serializable
- 已知直接子类:
-
DefaultFormatter
- Enclosing class:
- JFormattedTextField
public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable
AbstractFormatter
使用JFormattedTextField
来处理从Object到String的转换,以及从String转换为Object的转换。AbstractFormatter
也可以执行编辑策略或导航策略,或以其认为适合的任何方式操纵JFormattedTextField
以强制执行所需的策略。AbstractFormatter
一次只能在一个JFormattedTextField
中激活。JFormattedTextField
调用install
当它准备用它之后uninstall
完成时。 希望安装附加状态的子类应该覆盖install
并且消息超级适当。子类必须覆盖转换方法
stringToValue
和valueToString
。 可选他们可以覆盖getActions
,getNavigationFilter
和getDocumentFilter
限制JFormattedTextField
以特定的方式。允许
JFormattedTextField
处于暂时无效状态的子类应在适当的时间调用setEditValid
。- 从以下版本开始:
- 1.4
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 AbstractFormatter()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 protected Object
clone()
克隆AbstractFormatter
。protected Action[]
getActions()
如果您希望提供Action
的自定义集,则子类和覆盖。protected DocumentFilter
getDocumentFilter()
如果您希望提供DocumentFilter
以限制可输入的内容,则进行子类和覆盖。protected JFormattedTextField
getFormattedTextField()
返回当前JFormattedTextField
的AbstractFormatter
安装上。protected NavigationFilter
getNavigationFilter()
如果您希望提供过滤器以限制用户可以导航到的位置,则子类和覆盖。void
install(JFormattedTextField ftf)
将AbstractFormatter
安装到特定的JFormattedTextField
。protected void
invalidEdit()
当用户键入无效字符时,应调用此方法。protected void
setEditValid(boolean valid)
调用此更新editValid
的财产JFormattedTextField
。abstract Object
stringToValue(String text)
解析text
返回任意对象。void
uninstall()
卸载任何状态AbstractFormatter
可能对安装JFormattedTextField
。abstract String
valueToString(Object value)
返回要为value
显示的字符串值。
-
-
-
方法详细信息
-
install
public void install(JFormattedTextField ftf)
将AbstractFormatter
安装到特定的JFormattedTextField
。 这将调用valueToString
将当前值从JFormattedTextField
转换为String。 那么这将安装Action
从sgetActions
,该DocumentFilter
从返回getDocumentFilter
和NavigationFilter
从返回getNavigationFilter
至JFormattedTextField
。如果子类希望在
JFormattedTextField
上安装其他侦听器,则通常只需要覆盖它。如果将当前值转换为String时有
ParseException
,则会将文本设置为空字符串,并将JFormattedTextField
标记为无效状态。虽然这是一种公共方法,但这通常仅适用于
JFormattedTextField
子类。JFormattedTextField
将在值更改或其内部状态更改的适当时间调用此方法。 您只需要将此调用自己,如果你正在继承JFormattedTextField
和安装/卸载AbstractFormatter
比不同的时间JFormattedTextField
一样。- 参数
-
ftf
- 要格式化的JFormattedTextField,可以为null,表示从当前JFormattedTextField卸载。
-
uninstall
public void uninstall()
卸载AbstractFormatter
可能安装在JFormattedTextField
上的任何状态。 这将重置DocumentFilter
,NavigationFilter
和附加Action
安装在SJFormattedTextField
。
-
stringToValue
public abstract Object stringToValue(String text) throws ParseException
解析text
返回任意对象。 某些格式化程序可能返回null。- 参数
-
text
- 要转换的字符串 - 结果
- 文本的对象表示
- 异常
-
ParseException
- 如果转换中存在错误
-
valueToString
public abstract String valueToString(Object value) throws ParseException
返回要为value
显示的字符串值。- 参数
-
value
- 要转换的值 - 结果
- 字符串表示的值
- 异常
-
ParseException
- 如果转换中存在错误
-
getFormattedTextField
protected JFormattedTextField getFormattedTextField()
返回当前JFormattedTextField
的AbstractFormatter
安装上。- 结果
- JFormattedTextField格式。
-
invalidEdit
protected void invalidEdit()
当用户键入无效字符时,应调用此方法。 这会将调用转发给当前的JFormattedTextField。
-
setEditValid
protected void setEditValid(boolean valid)
调用此更新editValid
的财产JFormattedTextField
。 如果您执行的策略使JFormattedTextField
始终处于有效状态,则永远不需要调用此策略。- 参数
-
valid
- JFormattedTextField的有效状态
-
getActions
protected Action[] getActions()
如果您希望提供Action
的自定义集,则子类和覆盖。install
将在JFormattedTextField
的ActionMap
上安装这些。- 结果
- 要在JFormattedTextField上安装的操作数组
-
getDocumentFilter
protected DocumentFilter getDocumentFilter()
如果您希望提供DocumentFilter
以限制可输入的内容,则进行子类和覆盖。install
将返回值安装到JFormattedTextField
。- 结果
- DocumentFilter限制编辑
-
getNavigationFilter
protected NavigationFilter getNavigationFilter()
如果您希望提供过滤器以限制用户可以导航到的位置,则子类和覆盖。install
将返回值安装到JFormattedTextField
。- 结果
- NavigationFilter限制导航
-
clone
protected Object clone() throws CloneNotSupportedException
克隆AbstractFormatter
。 返回的实例与JFormattedTextField
。- 重写:
-
clone
类Object
- 结果
- AbstractFormatter的副本
- 异常
-
CloneNotSupportedException
- 如果对象的类不支持Cloneable
接口。 覆盖clone
方法的子类也可以抛出此异常以指示无法克隆实例。 - 另请参见:
-
Cloneable
-
-