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