javax.swing
Class JFormattedTextField.AbstractFormatter

java.lang.Object
  extended by javax.swing.JFormattedTextField.AbstractFormatter
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
DefaultFormatter
Enclosing class:
JFormattedTextField

public abstract static class JFormattedTextField.AbstractFormatter
extends Object
implements Serializable

An abstract base implementation for a formatter that can be used by a JTextField. A formatter can display a specific type of object and may provide a way to edit this value.

See Also:
Serialized Form

Constructor Summary
JFormattedTextField.AbstractFormatter()
           
 
Method Summary
protected  Object clone()
          Clones the AbstractFormatter and removes the association to any particular JFormattedTextField.
protected  Action[] getActions()
          Returns a custom set of Actions that this formatter supports.
protected  DocumentFilter getDocumentFilter()
          Gets the DocumentFilter for this formatter.
protected  JFormattedTextField getFormattedTextField()
          Returns the JFormattedTextField on which this formatter is currently installed.
protected  NavigationFilter getNavigationFilter()
          Gets the NavigationFilter for this formatter.
 void install(JFormattedTextField textField)
          Installs this formatter on the specified JFormattedTextField.
protected  void invalidEdit()
          Invoke this method when invalid values are entered.
protected  void setEditValid(boolean valid)
          This method updates the editValid property of JFormattedTextField.
abstract  Object stringToValue(String text)
          Parses text to return a corresponding Object.
 void uninstall()
          Clears the state installed on the JFormattedTextField by the formatter.
abstract  String valueToString(Object value)
          Returns a String to be displayed, based on the Object value.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JFormattedTextField.AbstractFormatter

public JFormattedTextField.AbstractFormatter()
Method Detail

clone

protected Object clone()
                throws CloneNotSupportedException
Clones the AbstractFormatter and removes the association to any particular JFormattedTextField.

Overrides:
clone in class Object
Returns:
a clone of this formatter with no association to any particular JFormattedTextField
Throws:
CloneNotSupportedException - if the Object's class doesn't support the Cloneable interface
See Also:
Cloneable

getActions

protected Action[] getActions()
Returns a custom set of Actions that this formatter supports. Should be subclassed by formatters that have a custom set of Actions.

Returns:
null. Should be subclassed by formatters that want to install custom Actions on the JFormattedTextField.

getDocumentFilter

protected DocumentFilter getDocumentFilter()
Gets the DocumentFilter for this formatter. Should be subclassed by formatters wishing to install a filter that oversees Document mutations.

Returns:
null. Should be subclassed by formatters that want to restrict Document mutations.

getFormattedTextField

protected JFormattedTextField getFormattedTextField()
Returns the JFormattedTextField on which this formatter is currently installed.

Returns:
the JFormattedTextField on which this formatter is currently installed

getNavigationFilter

protected NavigationFilter getNavigationFilter()
Gets the NavigationFilter for this formatter. Should be subclassed by formatters (such as DefaultFormatter) that wish to restrict where the cursor can be placed within the text field.

Returns:
null. Subclassed by formatters that want to restrict cursor location within the JFormattedTextField.

install

public void install(JFormattedTextField textField)
Installs this formatter on the specified JFormattedTextField. This converts the current value to a displayable String and displays it, and installs formatter specific Actions from getActions. It also installs a DocumentFilter and NavigationFilter on the JFormattedTextField.

If there is a ParseException this sets the text to an empty String and marks the text field in an invalid state.

Parameters:
textField - the JFormattedTextField on which to install this formatter

uninstall

public void uninstall()
Clears the state installed on the JFormattedTextField by the formatter. This resets the DocumentFilter, NavigationFilter, and any additional Actions (returned by getActions()).


invalidEdit

protected void invalidEdit()
Invoke this method when invalid values are entered. This forwards the call to the JFormattedTextField.


setEditValid

protected void setEditValid(boolean valid)
This method updates the editValid property of JFormattedTextField.

Parameters:
valid - the new state for the editValid property

stringToValue

public abstract Object stringToValue(String text)
                              throws ParseException
Parses text to return a corresponding Object.

Parameters:
text - the String to parse
Returns:
an Object that text represented
Throws:
ParseException - if there is an error in the conversion

valueToString

public abstract String valueToString(Object value)
                              throws ParseException
Returns a String to be displayed, based on the Object value.

Parameters:
value - the Object from which to generate a String
Returns:
a String to be displayed
Throws:
ParseException - if there is an error in the conversion