public class InternationalFormatter extends DefaultFormatter
InternationalFormatter extends DefaultFormatter,
 using an instance of java.text.Format to handle the
 conversion to a String, and the conversion from a String.
 
 If getAllowsInvalid() is false, this will ask the
 Format to format the current text on every edit.
 
 You can specify a minimum and maximum value by way of the
 setMinimum and setMaximum methods. In order
 for this to work the values returned from stringToValue must be
 comparable to the min/max values by way of the Comparable
 interface.
 
 Be careful how you configure the Format and the
 InternationalFormatter, as it is possible to create a
 situation where certain values can not be input. Consider the date
 format 'M/d/yy', an InternationalFormatter that is always
 valid (setAllowsInvalid(false)), is in overwrite mode
 (setOverwriteMode(true)) and the date 7/1/99. In this
 case the user will not be able to enter a two digit month or day of
 month. To avoid this, the format should be 'MM/dd/yy'.
 
 If InternationalFormatter is configured to only allow valid
 values (setAllowsInvalid(false)), every valid edit will result
 in the text of the JFormattedTextField being completely reset
 from the Format.
 The cursor position will also be adjusted as literal characters are
 added/removed from the resulting String.
 
 InternationalFormatter's behavior of
 stringToValue is  slightly different than that of
 DefaultTextFormatter, it does the following:
 
parseObject is invoked on the Format
       specified by setFormat
   setValueClass),
       supers implementation is invoked to convert the value returned
       from parseObject to the appropriate class.
   ParseException has not been thrown, and the value
       is outside the min/max a ParseException is thrown.
   InternationalFormatter implements stringToValue
 in this manner so that you can specify an alternate Class than
 Format may return.
 
 Warning:
 Serialized objects of this class will not be compatible with
 future Swing releases. The current serialization support is
 appropriate for short term storage or RMI between applications running
 the same version of Swing.  As of 1.4, support for long term storage
 of all JavaBeans™
 has been added to the java.beans package.
 Please see XMLEncoder.
Format, 
Comparable| Constructor | Description | 
|---|---|
| InternationalFormatter() | Creates an  InternationalFormatterwith noFormatspecified. | 
| InternationalFormatter(Format format) | Creates an  InternationalFormatterwith the specifiedFormatinstance. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| Object | clone() | Creates a copy of the DefaultFormatter. | 
| protected Action[] | getActions() | If  getSupportsIncrementreturns true, this returns
 two Actions suitable for incrementing/decrementing the value. | 
| Format.Field[] | getFields(int offset) | Returns the  Format.Fieldconstants associated with
 the text atoffset. | 
| Format | getFormat() | Returns the format that dictates the legal values that can be edited
 and displayed. | 
| Comparable | getMaximum() | Returns the maximum permissible value. | 
| Comparable | getMinimum() | Returns the minimum permissible value. | 
| void | install(JFormattedTextField ftf) | Installs the  DefaultFormatteronto a particularJFormattedTextField. | 
| void | setFormat(Format format) | Sets the format that dictates the legal values that can be edited
 and displayed. | 
| void | setMaximum(Comparable max) | Sets the maximum permissible value. | 
| void | setMinimum(Comparable minimum) | Sets the minimum permissible value. | 
| Object | stringToValue(String text) | Returns the  Objectrepresentation of theStringtext. | 
| String | valueToString(Object value) | Returns a String representation of the Object  value. | 
getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getNavigationFilter, getOverwriteMode, getValueClass, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClassgetFormattedTextField, invalidEdit, setEditValid, uninstallpublic InternationalFormatter()
InternationalFormatter with no
 Format specified.public InternationalFormatter(Format format)
InternationalFormatter with the specified
 Format instance.format - Format instance used for converting from/to Stringspublic void setFormat(Format format)
format - Format instance used for converting
 from/to Stringspublic Format getFormat()
public void setMinimum(Comparable minimum)
valueClass has
 not been specified, and minimum is non null, the
 valueClass will be set to that of the class of
 minimum.minimum - Minimum legal value that can be inputDefaultFormatter.setValueClass(java.lang.Class<?>)public Comparable getMinimum()
public void setMaximum(Comparable max)
valueClass has
 not been specified, and max is non null, the
 valueClass will be set to that of the class of
 max.max - Maximum legal value that can be inputDefaultFormatter.setValueClass(java.lang.Class<?>)public Comparable getMaximum()
public void install(JFormattedTextField ftf)
DefaultFormatter onto a particular
 JFormattedTextField.
 This will invoke valueToString to convert the
 current value from the JFormattedTextField to
 a String. This will then install the Actions from
 getActions, the DocumentFilter
 returned from getDocumentFilter and the
 NavigationFilter returned from
 getNavigationFilter onto the
 JFormattedTextField.
 
 Subclasses will typically only need to override this if they
 wish to install additional listeners on the
 JFormattedTextField.
 
 If there is a ParseException in converting the
 current value to a String, this will set the text to an empty
 String, and mark the JFormattedTextField as being
 in an invalid state.
 
 While this is a public method, this is typically only useful
 for subclassers of JFormattedTextField.
 JFormattedTextField will invoke this method at
 the appropriate times when the value changes, or its internal
 state changes.
install in class DefaultFormatterftf - JFormattedTextField to format for, may be null indicating
            uninstall from current JFormattedTextField.public String valueToString(Object value) throws ParseException
value.
 This invokes format on the current Format.valueToString in class DefaultFormattervalue - Value to convertParseException - if there is an error in the conversionpublic Object stringToValue(String text) throws ParseException
Object representation of the
 String text.stringToValue in class DefaultFormattertext - String to convertObject representation of textParseException - if there is an error in the conversionpublic Format.Field[] getFields(int offset)
Format.Field constants associated with
 the text at offset. If offset is not
 a valid location into the current text, this will return an
 empty array.offset - offset into text to be examinedpublic Object clone() throws CloneNotSupportedException
clone in class DefaultFormatterCloneNotSupportedException - if the object's class does not
               support the Cloneable interface. Subclasses
               that override the clone method can also
               throw this exception to indicate that an instance cannot
               be cloned.Cloneableprotected Action[] getActions()
getSupportsIncrement returns true, this returns
 two Actions suitable for incrementing/decrementing the value.getActions in class JFormattedTextField.AbstractFormatter Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.