- 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上安装的操作数组
 
 
 -  
 
 -