- 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 Objectclone()克隆AbstractFormatter。protected Action[]getActions()如果您希望提供Action的自定义集,则子类和覆盖。protected DocumentFiltergetDocumentFilter()如果您希望提供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转换为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
-
-