|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.JFormattedTextField.AbstractFormatter javax.swing.text.DefaultFormatter javax.swing.text.InternationalFormatter
public class InternationalFormatter
InternationalFormatter
扩展 DefaultFormatter
,使用 java.text.Format
的实例处理往返于 String 的转换。
如果 getAllowsInvalid()
为 false,这将要求 Format
在每次编辑时格式化当前文本。
可以通过 setMinimum
和 setMaximum
方法指定最小值和最大值。为使此值生效,必须比较 stringToValue
返回的值和通过 Comparable
接口得到的最小值/最大值。
配置 Format
和 InternationalFormatter
时一定要仔细,因为有可能造成某些值无法输入的情形。假定日期格式 'M/d/yy'(一种由 setAllowsInvalid(false)
决定总是有效的 InternationalFormatter
)处于改写模式 (setOverwriteMode(true)
) 且日期为 7/1/99。在此情况下,用户将不能输入两位数月份或某月的两位数日期。要避免此现象,该格式应该为 'MM/dd/yy'。
如果 InternationalFormatter
配置为只允许有效值 (setAllowsInvalid(false)
),则每次有效编辑都会导致 JFormattedTextField
的文本根据 Format
全部重新设置。光标位置也将随着对结果 String 的字面值字符的添加/删除而调整。
InternationalFormatter
的 stringToValue
行为与 DefaultTextFormatter
稍有不同,它可以执行以下操作:
setFormat
指定的 Format
上调用 parseObject
setValueClass
),则会调用超类实现,以便将 parseObject
返回的值转换为适当的类。
ParseException
,并且该值不在最小值/最大值之间,则抛出 ParseException
。
InternationalFormatter
以此方式实现 stringToValue
,所以可以指定一个 Format
可能返回的替代 Class。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
Format
,
Comparable
构造方法摘要 | |
---|---|
InternationalFormatter()
创建一个不带指定 Format 的 InternationalFormatter 。 |
|
InternationalFormatter(Format format)
创建一个具有指定 Format 实例的 InternationalFormatter 。 |
方法摘要 | |
---|---|
Object |
clone()
创建该 DefaultFormatter 的一个副本。 |
protected Action[] |
getActions()
如果 getSupportsIncrement 返回 true,则这将返回两个适合增加/减少该值的 Action。 |
Format.Field[] |
getFields(int offset)
返回与 offset 处的文本相关的 Format.Field 常量。 |
Format |
getFormat()
返回指示可以编辑和显示的合法值的格式。 |
Comparable |
getMaximum()
返回最大允许值。 |
Comparable |
getMinimum()
返回最小允许值。 |
void |
install(JFormattedTextField ftf)
将 DefaultFormatter 安装到特定的 JFormattedTextField 上。 |
void |
setFormat(Format format)
设置指示可以编辑和显示的合法值的格式。 |
void |
setMaximum(Comparable max)
设置最大允许值。 |
void |
setMinimum(Comparable minimum)
设置最小允许值。 |
Object |
stringToValue(String text)
返回 String text 的 Object 表示形式。 |
String |
valueToString(Object value)
返回 Object value 的 String 表示形式。 |
从类 javax.swing.JFormattedTextField.AbstractFormatter 继承的方法 |
---|
getFormattedTextField, invalidEdit, setEditValid, uninstall |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public InternationalFormatter()
Format
的 InternationalFormatter
。
public InternationalFormatter(Format format)
Format
实例的 InternationalFormatter
。
format
- 用于往返于 String 转换的 Format 实例方法详细信息 |
---|
public void setFormat(Format format)
format
- 用于往返 String 转换的 Format
实例public Format getFormat()
public void setMinimum(Comparable minimum)
valueClass
,且 minimum
为非 null,则 valueClass
将被设置为 minimum
类的值类。
minimum
- 可以输入的最小合法值DefaultFormatter.setValueClass(java.lang.Class>)
public Comparable getMinimum()
public void setMaximum(Comparable max)
valueClass
,且 max
为非 null,则将 valueClass
设置为 max
类的值。
max
- 可以输入的最大合法值DefaultFormatter.setValueClass(java.lang.Class>)
public Comparable getMaximum()
public void install(JFormattedTextField ftf)
DefaultFormatter
安装到特定的 JFormattedTextField
上。这将调用 valueToString
,将 JFormattedTextField
中的当前值转换为 String。此方法稍后将会将 getActions
返回的 Action
、getDocumentFilter
返回的 DocumentFilter
和 getNavigationFilter
返回的 NavigationFilter
安装到 JFormattedTextField
上。
如果子类希望在 JFormattedTextField
上安装其他侦听器,则通常只需要重写此方法。
如果在将当前值转换为 String 时存在 ParseException
,则这会将文本设置为空 String,并将 JFormattedTextField
标记为正处在无效状态。
尽管这是一个公共方法,但通常仅供 JFormattedTextField
的子类使用。当值发生更改,或内部状态发生更改时,JFormattedTextField
将在适当的时候调用此方法。
DefaultFormatter
中的 install
ftf
- 要格式化的 JFormattedTextField,可能为 null,指示未从当前的 JFormattedTextField 安装。public String valueToString(Object value) throws ParseException
value
的 String 表示形式。此方法会在当前 Format
上调用 format
。
DefaultFormatter
中的 valueToString
value
- 要转换的值
ParseException
- 如果在转换时发生错误public Object stringToValue(String text) throws ParseException
String
text
的 Object
表示形式。
DefaultFormatter
中的 stringToValue
text
- 要转换的 String
Object
表示形式
ParseException
- 如果转换时发生错误public Format.Field[] getFields(int offset)
offset
处的文本相关的 Format.Field
常量。如果 offset
不是当前文本中的有效位置,这将返回一个空数组。
offset
- 要检查文本的偏移量
public Object clone() throws CloneNotSupportedException
DefaultFormatter
中的 clone
CloneNotSupportedException
- 如果对象的类不支持 Cloneable
接口,则重写 clone
方法的子类也会抛出此异常,以指示无法克隆某个实例。Cloneable
protected Action[] getActions()
getSupportsIncrement
返回 true,则这将返回两个适合增加/减少该值的 Action。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。