- 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 Objectclone()克隆AbstractFormatter。protected Action[]getActions()子类和覆盖,如果你想提供一个自定义的一组Actions。protected DocumentFiltergetDocumentFilter()如果您希望提供DocumentFilter来限制可以输入的DocumentFilter,那么子类和覆盖。protected JFormattedTextFieldgetFormattedTextField()返回当前JFormattedTextField安装的AbstractFormatter。protected NavigationFiltergetNavigationFilter()如果您希望提供一个过滤器来限制用户可以导航的位置,则可以使用子类和覆盖。voidinstall(JFormattedTextField ftf)将AbstractFormatter安装到特定的JFormattedTextField。protected voidinvalidEdit()当用户键入无效字符时,应该调用此值。protected voidsetEditValid(boolean valid)调用此更新editValid的财产JFormattedTextField。abstract ObjectstringToValue(String text)解析text返回任意的对象。voiduninstall()卸载任何状态AbstractFormatter可能对安装JFormattedTextField。abstract StringvalueToString(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()
如果您希望提供自定义的一组Actions的子类和覆盖。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
-
-