|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing.text
类 InternationalFormatter
java.lang.Object javax.swing.JFormattedTextField.AbstractFormatter javax.swing.text.DefaultFormatter javax.swing.text.InternationalFormatter
- 所有已实现的接口:
- Serializable, Cloneable
- 直接已知子类:
- DateFormatter, NumberFormatter
-
public class InternationalFormatter
- extends DefaultFormatter
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
- 如果针对一些值设置了某个 Class (
setValueClass
),则会调用超类实现,以便将parseObject
返回的值转换为适当的类。 - 如果尚未抛出
ParseException
,并且该值不在最小值/最大值之间,则抛出ParseException
。 - 返回该值。
InternationalFormatter
以此方式实现 stringToValue
,所以可以指定一个 Format
可能返回的替代 Class。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
- 从以下版本开始:
- 1.4
- 另请参见:
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 |
构造方法详细信息 |
---|
InternationalFormatter
public InternationalFormatter()
-
创建一个不带指定
Format
的InternationalFormatter
。
InternationalFormatter
public InternationalFormatter(Format format)
-
创建一个具有指定
Format
实例的InternationalFormatter
。- 参数:
format
- 用于往返于 String 转换的 Format 实例
方法详细信息 |
---|
setFormat
public void setFormat(Format format)
- 设置指示可以编辑和显示的合法值的格式。
-
- 参数:
format
- 用于往返 String 转换的Format
实例
getFormat
public Format getFormat()
- 返回指示可以编辑和显示的合法值的格式。
-
- 返回:
- 用于往返 String 转换的 Format 实例
setMinimum
public void setMinimum(Comparable minimum)
-
设置最小允许值。如果尚未指定
valueClass
,且minimum
为非 null,则valueClass
将被设置为minimum
类的值类。 -
- 参数:
minimum
- 可以输入的最小合法值- 另请参见:
DefaultFormatter.setValueClass(java.lang.Class)
getMinimum
public Comparable getMinimum()
- 返回最小允许值。
-
- 返回:
- 可以输入的最小合法值
setMaximum
public void setMaximum(Comparable max)
-
设置最大允许值。如果尚未指定
valueClass
,且max
为非 null,则将valueClass
设置为max
类的值。 -
- 参数:
max
- 可以输入的最大合法值- 另请参见:
DefaultFormatter.setValueClass(java.lang.Class)
getMaximum
public Comparable getMaximum()
- 返回最大允许值。
-
- 返回:
- 可以输入的最大合法值