|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
类 JFormattedTextField.AbstractFormatter
java.lang.Object javax.swing.JFormattedTextField.AbstractFormatter
- 所有已实现的接口:
- Serializable
- 直接已知子类:
- DefaultFormatter
- 正在封闭类:
- JFormattedTextField
-
public abstract static class JFormattedTextField.AbstractFormatter
- extends Object
- implements Serializable
JFormattedTextField
所使用的 AbstractFormatter
实例,用于处理从 Object 到 String 和从 String 到 Object 的转换。AbstractFormatter
还可强制执行编辑策略,或者指导策略的执行,或者以任何适合于强制执行所需策略的方式操作 JFormattedTextField
。
AbstractFormatter
一次只能在一个 JFormattedTextField
中处于激活状态。JFormattedTextField
准备好使用 install
时即调用它,完成后调用 uninstall
。希望安装其他状态的子类应该重写 install
并适当地通知超类。
子类必须重写转换方法 stringToValue
和 valueToString
。或者,子类可以重写 getActions
、getNavigationFilter
和 getDocumentFilter
,以便以特定的方式限制 JFormattedTextField
。
允许 JFormattedTextField
处于临时无效状态的子类应该在恰当的时间调用 setEditValid
。
构造方法摘要 | |
---|---|
JFormattedTextField.AbstractFormatter() |
方法摘要 | |
---|---|
protected Object |
clone() 克隆 AbstractFormatter 。 |
protected Action[] |
getActions() 如果想提供自定义的 Action 集合,则应进行子类化和重写。 |
protected DocumentFilter |
getDocumentFilter() 如果想要提供某个 DocumentFilter 以限制输入内容,则应进行子类化和重写。 |
protected JFormattedTextField |
getFormattedTextField() 返回 AbstractFormatter 所安装到的当前 JFormattedTextField 。 |
protected NavigationFilter |
getNavigationFilter() 如果想要提供过滤器以限制用户可导航的位置,则应进行子类化和重写。 |
void |
install(JFormattedTextField ftf) 将 AbstractFormatter 安装到特定的 JFormattedTextField 。 |
protected void |
invalidEdit() 用户键入无效字符时调用此方法。 |
protected void |
setEditValid(boolean valid) 调用此方法以更新 JFormattedTextField 的 editValid 属性。 |
abstract Object |
stringToValue(String text) 分析 text ,返回任意 Object。 |
void |
uninstall() 卸载 AbstractFormatter 可能已在 JFormattedTextField 上安装的所有状态。 |
abstract String |
valueToString(Object value) 返回为 value 显示的 string 值。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
JFormattedTextField.AbstractFormatter
public JFormattedTextField.AbstractFormatter()
方法详细信息 |
---|
install
public void install(JFormattedTextField ftf)
-
将
AbstractFormatter
安装到特定的JFormattedTextField
。这会调用valueToString
将JFormattedTextField
的当前值转换为 String。然后将从getActions
返回的Action
、从getDocumentFilter
返回的DocumentFilter
和从getNavigationFilter
返回的NavigationFilter
安装到JFormattedTextField
。如果子类希望在该
JFormattedTextField
上安装其他侦听器,通常只需重写此方法即可。如果将当前值转换为 String 的过程中出现
ParseException
,则会将文本设置为空 String,并标记JFormattedTextField
为处于无效状态。不过这是一个公共方法,通常它只对
JFormattedTextField
的子类有用。当值更改,或者JFormattedTextField
的内部状态更改时,JFormattedTextField 才在适当的时间调用此方法。如果要创建JFormattedTextField
的子类并且在不同于JFormattedTextField
操作的时间安装/卸载AbstractFormatter
,则只需自己调用此方法。 -
-
- 参数:
-
ftf
- 用于格式化的 JFormattedTextField,可以为 null,指示从当前 JFormattedTextField 进行卸载。
uninstall
public void uninstall()
-
卸载
AbstractFormatter
可能已在JFormattedTextField
上安装的所有状态。这会重置在JFormattedTextField
上安装的DocumentFilter
、NavigationFilter
和其他Action
。 -
-
stringToValue
public abstract Object stringToValue(String text) throws ParseException
-
分析
text
,返回任意 Object。某些 formatter 可能返回 null。 -
-
- 参数:
-
text
- 要转换的 String - 返回:
- 文本的 Object 表示形式
- 抛出:
-
ParseException
- 如果转换过程中出现错误
valueToString
public abstract String valueToString(Object value) throws ParseException
-
返回为
value
显示的 string 值。 -
-
- 参数:
-
value
- 要转换的 Value - 返回:
- 值的 String 表示形式
- 抛出:
-
ParseException
- 如果转换过程中出现错误
getFormattedTextField
protected JFormattedTextField getFormattedTextField()
-
返回
AbstractFormatter
所安装到的当前JFormattedTextField
。 -
-
- 返回:
- 用于格式化的 JFormattedTextField。
invalidEdit
protected void invalidEdit()
- 用户键入无效字符时调用此方法。这会将调用转发到当前的 JFormattedTextField。
-
-
setEditValid
protected void setEditValid(boolean valid)
-
调用此方法以更新
JFormattedTextField
的editValid
属性。如果强制实施某个策略而使JFormattedTextField
始终处于有效状态,则不再需要调用此方法。 -
-
- 参数:
-
valid
- JFormattedTextField 的有效状态