- java.lang.Object
-
- javax.swing.JFormattedTextField.AbstractFormatter
-
- All Implemented Interfaces:
-
Serializable
- 已知直接子类:
-
DefaultFormatter
- Enclosing class:
- JFormattedTextField
public abstract static class JFormattedTextField.AbstractFormatter extends Object implements Serializable
AbstractFormatter
实例由JFormattedTextField
用于处理从对象到字符串以及从字符串返回到对象的转换。AbstractFormatter
还可以强制执行编辑策略或导航策略,或以任何方式操纵JFormattedTextField
以执行所需策略。一个
AbstractFormatter
只能在一个JFormattedTextField
一个活动。JFormattedTextField
调用install
当它准备好使用它后跟uninstall
完成。 希望安装其他状态的子类应该覆盖install
和消息超级适当。子类必须覆盖转换方法
stringToValue
和valueToString
。 可选他们可以覆盖getActions
,getNavigationFilter
和getDocumentFilter
限制JFormattedTextField
以特定的方式。允许
JFormattedTextField
处于暂时无效状态的子类应在适当的时候调用setEditValid
。- 从以下版本开始:
- 1.4
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 AbstractFormatter()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 protected Object
clone()
克隆AbstractFormatter
。protected Action[]
getActions()
子类和覆盖,如果你想提供一个自定义的一组Action
s。protected DocumentFilter
getDocumentFilter()
如果您希望提供DocumentFilter
来限制可以输入的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
转换为字符串。 那么这将安装Action
从sgetActions
,该DocumentFilter
从返回getDocumentFilter
和NavigationFilter
从返回getNavigationFilter
到JFormattedTextField
。子类通常只需要覆盖这个,如果他们希望在
JFormattedTextField
上安装其他监听JFormattedTextField
。如果将当前值转换为字符串有
ParseException
,则将文本设置为空字符串,并将JFormattedTextField
标记为无效状态。虽然这是一种公共方法,但这通常只适用于
JFormattedTextField
子类。JFormattedTextField
将在值更改或其内部状态更改的适当时候调用此方法。 您只需要将此调用自己,如果你正在继承JFormattedTextField
和安装/卸载AbstractFormatter
比不同的时间JFormattedTextField
一样。- 参数
-
ftf
- JFormattedTextField格式化,可能为空,表示从当前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
s的子类和覆盖。install
将安装在JFormattedTextField
的ActionMap
。- 结果
- 要在JFormattedTextField上安装的操作数组
-
getDocumentFilter
protected DocumentFilter getDocumentFilter()
如果您希望提供DocumentFilter
来限制可以输入的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
-
-