|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.JFormattedTextField.AbstractFormatter javax.swing.text.DefaultFormatter
public class DefaultFormatter
DefaultFormatter
格式化任意对象。格式化是通过调用 toString
方法完成的。为将值转换回 String,类必须提供一个采用 String 参数的构造方法。如果未发现采用 String 的单一参数构造方法,则返回值将为传入 stringToValue
的 String。
DefaultFormatter
的实例不能在 JFormattedTextField
的多个实例中使用。要获得已配置好的 DefaultFormatter
的副本,请使用 clone
方法。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
JFormattedTextField.AbstractFormatter
构造方法摘要 | |
---|---|
DefaultFormatter()
创建 DefaultFormatter。 |
方法摘要 | |
---|---|
Object |
clone()
创建此 DefaultFormatter 的副本。 |
boolean |
getAllowsInvalid()
返回编辑的值是否在一段时间内允许为无效。 |
boolean |
getCommitsOnValidEdit()
返回何时将编辑内容发布回 JFormattedTextField 。 |
protected DocumentFilter |
getDocumentFilter()
返回用于限制放置到 JFormattedTextField 中的字符的 DocumentFilter 。 |
protected NavigationFilter |
getNavigationFilter()
返回用于限制光标放置位置的 NavigationFilter 。 |
boolean |
getOverwriteMode()
返回插入字符时的行为。 |
Class<?> |
getValueClass()
返回用于创建新 Objects 的类。 |
void |
install(JFormattedTextField ftf)
将 DefaultFormatter 安装到特定的 JFormattedTextField 。 |
void |
setAllowsInvalid(boolean allowsInvalid)
设置编辑的值在一段时间内是否允许为无效(也就是说, stringToValue 是否抛出 ParseException )。 |
void |
setCommitsOnValidEdit(boolean commit)
设置何时将编辑内容发布回 JFormattedTextField 。 |
void |
setOverwriteMode(boolean overwriteMode)
配置插入字符时的行为。 |
void |
setValueClass(Class<?> valueClass)
设置用于创建新 Objects 的类。 |
Object |
stringToValue(String string)
通过使用带 String 参数的构造方法将传入的 String 转换为 getValueClass 的一个实例。 |
String |
valueToString(Object value)
使用 toString 方法将传入的 Object 转换为 String。 |
从类 javax.swing.JFormattedTextField.AbstractFormatter 继承的方法 |
---|
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public DefaultFormatter()
方法详细信息 |
---|
public void install(JFormattedTextField ftf)
DefaultFormatter
安装到特定的 JFormattedTextField
。这会调用 valueToString
,以便将 JFormattedTextField
的当前值转换为 String。此方法稍后将会把 getActions
返回的 Action
、getDocumentFilter
返回的 DocumentFilter
和 getNavigationFilter
返回的 NavigationFilter
安装到 JFormattedTextField
上。
如果子类希望在 JFormattedTextField
上安装其他侦听器,则通常只需要重写此方法。
如果在将当前值转换为 String 时存在 ParseException
,则这会将文本设置为空 String,并将 JFormattedTextField
标记为正处在无效状态。
尽管这是一个公共方法,但通常仅供 JFormattedTextField
的子类使用。当值发生更改,或内部状态发生更改时,JFormattedTextField
将在适当的时候调用此方法。
JFormattedTextField.AbstractFormatter
中的 install
ftf
- 要格式化为的 JFormattedTextField,可以为 null,指示未从当前的 JFormattedTextField 安装。public void setCommitsOnValidEdit(boolean commit)
JFormattedTextField
。如果为 true,commitEdit
在每次有效编辑(编辑文本的任何时间)后调用。另一方面,如果为 false,则 DefaultFormatter
不会将编辑内容发布回 JFormattedTextField
。因此,JFormattedTextField
值的惟一一次改变发生的时间是,在 JFormattedTextField
上调用 commitEdit
时,通常为按下回车或当焦点离开 JFormattedTextField
时。
commit
- 用于指示何时将编辑内容提交回 JTextComponentpublic boolean getCommitsOnValidEdit()
JFormattedTextField
。
public void setOverwriteMode(boolean overwriteMode)
overwriteMode
为 true (默认值),新字符将改写模型中现有的字符。
overwriteMode
- 指示使用改写或替代模式public boolean getOverwriteMode()
public void setAllowsInvalid(boolean allowsInvalid)
stringToValue
是否抛出 ParseException
)。允许用户临时输入一个无效值会很方便。
allowsInvalid
- 用于指示编辑的值是否必须始终为有效public boolean getAllowsInvalid()
public void setValueClass(Class<?> valueClass)
valueClass
- 用于构造从 stringToValue 中返回的值的类public Class<?> getValueClass()
public Object stringToValue(String string) throws ParseException
getValueClass
的一个实例。如果 getValueClass
返回 null,将使用 JFormattedTextField
中当前值的类。如果它为 null,将返回一个 String。如果构造方法抛出异常,则会抛出 ParseException
。如果没有只带一个参数的 String 构造方法,则返回 string
。
JFormattedTextField.AbstractFormatter
中的 stringToValue
string
- 要转换的字符串
ParseException
- 如果转换过程中出现错误public String valueToString(Object value) throws ParseException
toString
方法将传入的 Object 转换为 String。
JFormattedTextField.AbstractFormatter
中的 valueToString
value
- 要转换的值
ParseException
- 如果在转换时发生错误protected DocumentFilter getDocumentFilter()
JFormattedTextField
中的字符的 DocumentFilter
。
JFormattedTextField.AbstractFormatter
中的 getDocumentFilter
protected NavigationFilter getNavigationFilter()
NavigationFilter
。
JFormattedTextField.AbstractFormatter
中的 getNavigationFilter
public Object clone() throws CloneNotSupportedException
JFormattedTextField.AbstractFormatter
中的 clone
CloneNotSupportedException
- 如果对象的类不支持 Cloneable
接口,则重写 clone
方法的子类也会抛出此异常,以指示无法复制某个实例。Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。