|
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
无关联。
Object
中的 clone
CloneNotSupportedException
- 如果对象的类不支持 Cloneable
接口,则重写 clone
方法的子类也会抛出此异常,以指示无法复制某个实例。Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。