public class DefaultFormatter extends JFormattedTextField.AbstractFormatter implements Cloneable , Serializable
DefaultFormatter formats arbitrary objects. Formatting is done by invoking the
toString method. In order to convert the value back to a String, your class must provide a constructor that takes a String argument. If no single argument constructor that takes a String is found, the returned value will be the String passed into
stringToValue.
Instances of DefaultFormatter can not be used in multiple instances of JFormattedTextField. To obtain a copy of an already configured DefaultFormatter, use the clone method.
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.
JFormattedTextField.AbstractFormatter
| Constructor and Description |
|---|
DefaultFormatter()
Creates a DefaultFormatter.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Creates a copy of the DefaultFormatter.
|
boolean |
getAllowsInvalid()
Returns whether or not the value being edited is allowed to be invalid for a length of time.
|
boolean |
getCommitsOnValidEdit()
Returns when edits are published back to the
JFormattedTextField.
|
protected DocumentFilter |
getDocumentFilter()
Returns the
DocumentFilter used to restrict the characters that can be input into the
JFormattedTextField.
|
protected NavigationFilter |
getNavigationFilter()
Returns the
NavigationFilter used to restrict where the cursor can be placed.
|
boolean |
getOverwriteMode()
Returns the behavior when inserting characters.
|
Class |
getValueClass()
Returns that class that is used to create new Objects.
|
void |
install(JFormattedTextField
Installs the
DefaultFormatter onto a particular
JFormattedTextField.
|
void |
setAllowsInvalid(boolean allowsInvalid)
Sets whether or not the value being edited is allowed to be invalid for a length of time (that is,
stringToValue throws a
ParseException).
|
void |
setCommitsOnValidEdit(boolean commit)
Sets when edits are published back to the
JFormattedTextField.
|
void |
setOverwriteMode(boolean overwriteMode)
Configures the behavior when inserting characters.
|
void |
setValueClass(Class
Sets that class that is used to create new Objects.
|
Object |
stringToValue(String
Converts the passed in String into an instance of
getValueClass by way of the constructor that takes a String argument.
|
String |
valueToString(Object
Converts the passed in Object into a String by way of the
toString method.
|
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstallpublic void install(JFormattedTextFieldftf)
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
JFormattedTextField.AbstractFormatter
ftf - JFormattedTextField to format for, may be null indicating uninstall from current JFormattedTextField.
public void setCommitsOnValidEdit(boolean commit)
JFormattedTextField. If true,
commitEdit is invoked after every valid edit (any time the text is edited). On the other hand, if this is false than the
DefaultFormatter does not publish edits back to the
JFormattedTextField. As such, the only time the value of the
JFormattedTextField will change is when
commitEdit is invoked on
JFormattedTextField, typically when enter is pressed or focus leaves the
JFormattedTextField.
commit - Used to indicate when edits are committed back to the JTextComponent
public boolean getCommitsOnValidEdit()
JFormattedTextField.
public void setOverwriteMode(boolean overwriteMode)
overwriteMode is true (the default), new characters overwrite existing characters in the model.
overwriteMode - Indicates if overwrite or overstrike mode is used
public boolean getOverwriteMode()
public void setAllowsInvalid(boolean allowsInvalid)
stringToValue throws a
ParseException). It is often convenient to allow the user to temporarily input an invalid value.
allowsInvalid - Used to indicate if the edited value must always be valid
public boolean getAllowsInvalid()
public void setValueClass(Class<?> valueClass)
valueClass - Class used to construct return value from stringToValue
public Class<?> getValueClass()
public ObjectstringToValue(String string) throws ParseException
getValueClass by way of the constructor that takes a String argument. If
getValueClass returns null, the Class of the current value in the
JFormattedTextField will be used. If this is null, a String will be returned. If the constructor throws an exception, a
ParseException will be thrown. If there is no single argument String constructor,
string will be returned.
stringToValue in class
JFormattedTextField.AbstractFormatter
string - String to convert
ParseException - if there is an error in the conversion
public StringvalueToString(Object value) throws ParseException
toString method.
valueToString in class
JFormattedTextField.AbstractFormatter
value - Value to convert
ParseException - if there is an error in the conversion
protected DocumentFiltergetDocumentFilter()
DocumentFilter used to restrict the characters that can be input into the
JFormattedTextField.
getDocumentFilter in class
JFormattedTextField.AbstractFormatter
protected NavigationFiltergetNavigationFilter()
NavigationFilter used to restrict where the cursor can be placed.
getNavigationFilter in class
JFormattedTextField.AbstractFormatter
public Objectclone() throws CloneNotSupportedException
clone in class
JFormattedTextField.AbstractFormatter
CloneNotSupportedException - 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.
Cloneable