- 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来处理转换为字符串,并从字符串的转换。如果
getAllowsInvalid()为false,则会要求Format格式化每次编辑时的当前文本。您可以通过
setMinimum和setMaximum方法指定最小值和最大值。 为了使其工作,从stringToValue返回的值必须通过Comparable接口与最小/最大值相比较。请注意如何配置
Format和InternationalFormatter,因为可能会创建无法输入某些值的情况。 考虑日期格式'M / d / yy',InternationalFormatter始终有效(setAllowsInvalid(false)),处于覆盖模式(setOverwriteMode(true))和日期7/1/99。 在这种情况下,用户将无法输入两位数月份或月份日期。 为避免这种情况,格式应为'MM / dd / yy'。如果
InternationalFormatter被配置为只允许有效值(setAllowsInvalid(false)),每一个有效的编辑将导致文本JFormattedTextField是从完全复位Format。 当结果字符串中添加/删除文字字符时,也会调整光标位置。InternationalFormatter的行为stringToValue比略有不同DefaultTextFormatter,它执行以下操作:-
parseObject被调用的Format通过指定setFormat - 如果已为值设置了类(
setValueClass),则调用setValueClass实现以将从parseObject返回的值转换为适当的类。 - 如果没有抛出
ParseException,并且该值超出最小值/最大值,则抛出ParseException。 - 返回值。
InternationalFormatter以这种方式实现stringToValue,以便您可以指定可以返回的替代类Format。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 从以下版本开始:
- 1.4
- 另请参见:
-
Format,Comparable, Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 InternationalFormatter()创建InternationalFormatter,未指定Format。InternationalFormatter(Format format)创建一个InternationalFormatter具有指定Format实例。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 Objectclone()创建DefaultFormatter的副本。protected Action[]getActions()如果getSupportsIncrement返回true,则返回两个适合递增/递减值的Actions。Format.Field[]getFields(int offset)返回Format.Field与文字有关的常数offset。FormatgetFormat()返回指示可以编辑和显示的合法值的格式。Comparable<?>getMaximum()返回最大允许值。Comparable<?>getMinimum()返回最小允许值。voidinstall(JFormattedTextField ftf)将DefaultFormatter安装到特定的JFormattedTextField。voidsetFormat(Format format)设置指示可以编辑和显示的合法值的格式。voidsetMaximum(Comparable<?> max)设置最大允许值。voidsetMinimum(Comparable<?> minimum)设置最小允许值。ObjectstringToValue(String text)返回Object的表示Stringtext。StringvalueToString(Object value)返回Objectvalue的String表示value。-
声明方法的类 javax.swing.text.DefaultFormatter
getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass
-
声明方法的类 javax.swing.JFormattedTextField.AbstractFormatter
getFormattedTextField, invalidEdit, setEditValid, uninstall
-
-
-
-
构造方法详细信息
-
InternationalFormatter
public InternationalFormatter()
创建InternationalFormatter,未指定Format。
-
InternationalFormatter
public InternationalFormatter(Format format)
创建一个InternationalFormatter具有指定Format实例。- 参数
-
format- 用于从/转换为字符串的格式化实例
-
-
方法详细信息
-
setFormat
public void setFormat(Format format)
设置指示可以编辑和显示的合法值的格式。- 参数
-
format-Format用于从/转换为字符串的实例
-
getFormat
public Format getFormat()
返回指示可以编辑和显示的合法值的格式。- 结果
- 用于从/转换为字符串的格式实例
-
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()
返回最大允许值。- 结果
- 可输入的最大合法值
-
install
public void install(JFormattedTextField ftf)
将DefaultFormatter安装到特定的JFormattedTextField。 这将调用valueToString将当前值从JFormattedTextField转换为String。 那么这将安装Action从sgetActions,该DocumentFilter从返回getDocumentFilter和NavigationFilter从返回getNavigationFilter至JFormattedTextField。如果子类希望在
JFormattedTextField上安装其他侦听器,则通常只需要覆盖它。如果在将当前值转换为String时存在
ParseException,则会将文本设置为空字符串,并将JFormattedTextField标记为处于无效状态。虽然这是一种公共方法,但这通常仅适用于
JFormattedTextField子类。JFormattedTextField将在值更改或其内部状态更改的适当时间调用此方法。- 重写:
-
install在类DefaultFormatter - 参数
-
ftf- 要格式化的JFormattedTextField,可以为null,表示从当前JFormattedTextField卸载。
-
valueToString
public String valueToString(Object value) throws ParseException
返回Objectvalue的String表示value。 这format在当前Format上调用Format。- 重写:
-
valueToString类DefaultFormatter - 参数
-
value- 要转换的值 - 结果
- 字符串表示的值
- 异常
-
ParseException- 如果转换中存在错误
-
stringToValue
public Object stringToValue(String text) throws ParseException
返回Object的表示Stringtext。- 重写:
-
stringToValue在类DefaultFormatter - 参数
-
text-String要转换 - 结果
-
Object文字表示 - 异常
-
ParseException- 如果转换中存在错误
-
getFields
public Format.Field[] getFields(int offset)
返回Format.Field与文字有关的常数offset。 如果offset不是当前文本的有效位置,则返回空数组。- 参数
-
offset- 要检查的文本的偏移量 - 结果
- 与给定位置的文本关联的Format.Field常量。
-
clone
public Object clone() throws CloneNotSupportedException
创建DefaultFormatter的副本。- 重写:
-
clone在类DefaultFormatter - 结果
- DefaultFormatter的副本
- 异常
-
CloneNotSupportedException- 如果对象的类不支持Cloneable接口。 重写clone方法的子类也可以抛出此异常以指示无法克隆实例。 - 另请参见:
-
Cloneable
-
getActions
protected Action[] getActions()
如果getSupportsIncrement返回true,则返回两个适合递增/递减值的Actions。- 重写:
-
getActions在类JFormattedTextField.AbstractFormatter - 结果
- 要在JFormattedTextField上安装的操作数组
-
-