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