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 。
| Constructor and Description |
|---|
AbstractFormatter() |
| Modifier and Type | Method and Description |
|---|---|
protected Object |
clone()
克隆
AbstractFormatter 。
|
protected Action[] |
getActions()
子类和覆盖,如果你想提供一个定制的
Action s。
|
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显示的字符串值。
|
public void install(JFormattedTextField ftf)
AbstractFormatter到特定JFormattedTextField 。
这将调用valueToString将当前值从JFormattedTextField转换为字符串。
那么这将安装Action从s getActions ,该DocumentFilter从返回getDocumentFilter和NavigationFilter从返回getNavigationFilter到JFormattedTextField 。
子类通常只需要覆盖这个,如果他们希望在JFormattedTextField上安装其他监听JFormattedTextField 。
如果有一个ParseException将当前值转换为字符串,则将文本设置为空字符串,并将JFormattedTextField标记为无效状态。
虽然这是一种公共方法,但这通常仅适用于JFormattedTextField的JFormattedTextField 。 JFormattedTextField将在值更改或其内部状态更改的适当时候调用此方法。 您只需要将此调用自己,如果你正在继承JFormattedTextField和安装/卸载AbstractFormatter比不同的时间JFormattedTextField做。
ftf - JFormattedTextField格式化,可能为null表示从当前JFormattedTextField卸载。
public void uninstall()
AbstractFormatter可能对安装JFormattedTextField 。
这将重置DocumentFilter , NavigationFilter和附加Action安装在S JFormattedTextField 。
public abstract Object stringToValue(String text) throws ParseException
text返回任意对象。
一些格式化程序可能返回null。
text - 要转换的字符串
ParseException - 转换中是否有错误
public abstract String valueToString(Object value) throws ParseException
value显示的字符串值。
value - 要转换的价值
ParseException - 如果转换中有错误
protected JFormattedTextField getFormattedTextField()
JFormattedTextField的
AbstractFormatter 。
protected void invalidEdit()
protected void setEditValid(boolean valid)
editValid的财产JFormattedTextField 。
如果您强制执行JFormattedTextField始终处于有效状态的策略,则您将永远不需要调用此策略。
valid -
valid有效状态
protected Action[] getActions()
Action s。
install将安装在JFormattedTextField的ActionMap 。
protected DocumentFilter getDocumentFilter()
DocumentFilter来限制可以输入的内容。
install将返回的值安装到JFormattedTextField 。
protected NavigationFilter getNavigationFilter()
install将返回的值安装到JFormattedTextField 。
protected Object clone() throws CloneNotSupportedException
AbstractFormatter 。
返回的实例不与JFormattedTextField 。
clone在
Object
CloneNotSupportedException - 如果对象的类不支持Cloneable接口。
覆盖clone方法的子类也可以引发此异常以指示实例无法克隆。
Cloneable
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.