|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.JFormattedTextField.AbstractFormatter
public abstract static class JFormattedTextField.AbstractFormatter
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 |
构造方法详细信息 |
---|
public JFormattedTextField.AbstractFormatter()
方法详细信息 |
---|
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 进行卸载。public void uninstall()
AbstractFormatter
可能已在 JFormattedTextField
上安装的所有状态。这会重置在 JFormattedTextField
上安装的 DocumentFilter
、NavigationFilter
和其他 Action
。
public abstract Object stringToValue(String text) throws ParseException
text
,返回任意 Object。某些 formatter 可能返回 null。
text
- 要转换的 String
ParseException
- 如果转换过程中出现错误public abstract String valueToString(Object value) throws ParseException
value
显示的 string 值。
value
- 要转换的 Value
ParseException
- 如果转换过程中出现错误protected JFormattedTextField getFormattedTextField()
AbstractFormatter
所安装到的当前 JFormattedTextField
。
protected void invalidEdit()
protected void setEditValid(boolean valid)
JFormattedTextField
的 editValid
属性。如果强制实施某个策略而使 JFormattedTextField
始终处于有效状态,则不再需要调用此方法。
valid
- JFormattedTextField 的有效状态protected Action[] getActions()
Action
集合,则应进行子类化和重写。install
将在 JFormattedTextField
的 ActionMap
上安装这些 Action。
protected DocumentFilter getDocumentFilter()
DocumentFilter
以限制输入内容,则应进行子类化和重写。install
会将返回值安装到 JFormattedTextField
上。
protected NavigationFilter getNavigationFilter()
install
会将返回值安装到 JFormattedTextField
上。
protected Object clone() throws CloneNotSupportedException
AbstractFormatter
。返回的实例与 JFormattedTextField
无关联。
CloneNotSupportedException
- 如果对象的类不支持 Cloneable
接口,则重写 clone
方法的子类也会抛出此异常,以指示无法复制某个实例。Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。