This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


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

Instances of AbstractFormatter are used by JFormattedTextField to handle the conversion both from an Object to a String, and back from a String to an Object. AbstractFormatters can also enfore editing policies, or navigation policies, or manipulate the JFormattedTextField in any way it sees fit to enforce the desired policy.

An AbstractFormatter can only be active in one JFormattedTextField at a time. JFormattedTextField invokes install when it is ready to use it followed by uninstall when done. Subclasses that wish to install additional state should override install and message super appropriately.

Subclasses must override the conversion methods stringToValue and valueToString. Optionally they can override getActions, getNavigationFilter and getDocumentFilter to restrict the JFormattedTextField in a particular way.

Subclasses that allow the JFormattedTextField to be in a temporarily invalid state should invoke setEditValid at the appropriate times.


Constructor Summary

          
 
Method Summary
protected Object

          Clones the AbstractFormatter.
protected Action[]

          Subclass and override if you wish to provide a custom set of Actions.
protected DocumentFilter

          Subclass and override if you wish to provide a DocumentFilter to restrict what can be input.
protected JFormattedTextField

          Returns the current JFormattedTextField the AbstractFormatter is installed on.
protected NavigationFilter

          Subclass and override if you wish to provide a filter to restrict where the user can navigate to.
 void

          Installs the AbstractFormatter onto a particular JFormattedTextField.
protected void

          This should be invoked when the user types an invalid character.
protected void
setEditValid(boolean valid)

          Invoke this to update the editValid property of the JFormattedTextField.
abstract Object

          Parses text returning an arbitrary Object.
 void

          Uninstalls any state the AbstractFormatter may have installed on the JFormattedTextField.
abstract String

          Returns the string value to display for value.
 
Methods inherited from class java.lang.Object
clone, 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. The returned instance is not associated with a JFormattedTextField.

Overrides:
clone in class Object
Returns:
Copy of the AbstractFormatter
Throws:
CloneNotSupportedException

getActions

protected Action[] getActions()
Subclass and override if you wish to provide a custom set of Actions. install will install these on the JFormattedTextField's ActionMap.

Returns:
Array of Actions to install on JFormattedTextField

getDocumentFilter

protected DocumentFilter getDocumentFilter()
Subclass and override if you wish to provide a DocumentFilter to restrict what can be input. install will install the returned value onto the JFormattedTextField.

Returns:
DocumentFilter to restrict edits

getFormattedTextField

protected JFormattedTextField getFormattedTextField()
Returns the current JFormattedTextField the AbstractFormatter is installed on.

Returns:
JFormattedTextField formatting for.

getNavigationFilter

protected NavigationFilter getNavigationFilter()
Subclass and override if you wish to provide a filter to restrict where the user can navigate to. install will install the returned value onto the JFormattedTextField.

Returns:
NavigationFilter to restrict navigation

install

public void install(JFormattedTextField ftf)
Installs the AbstractFormatter 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. You will only need to invoke this yourself if you are subclassing JFormattedTextField and installing/uninstalling AbstractFormatter at a different time than JFormattedTextField does.

Parameters:
ftf - JFormattedTextField to format for, may be null indicating uninstall from current JFormattedTextField.

invalidEdit

protected void invalidEdit()
This should be invoked when the user types an invalid character. This forwards the call to the current JFormattedTextField.


setEditValid

protected void setEditValid(boolean valid)
Invoke this to update the editValid property of the JFormattedTextField. If you an enforce a policy such that the JFormattedTextField is always in a valid state, you will never need to invoke this.

Parameters:
valid - Valid state of the JFormattedTextField

stringToValue

public abstract Object stringToValue(String text)
                              throws ParseException
Parses text returning an arbitrary Object. Some formatters may return null.

Parameters:
text - String to convert
Returns:
Object representation of text
Throws:
ParseException - if there is an error in the conversion

uninstall

public void uninstall()
Uninstalls any state the AbstractFormatter may have installed on the JFormattedTextField. This resets the DocumentFilter, NavigationFilter and additional Actions installed on the JFormattedTextField.


valueToString

public abstract String valueToString(Object value)
                              throws ParseException
Returns the string value to display for value.

Parameters:
value - Value to convert
Returns:
String representation of value
Throws:
ParseException - if there is an error in the conversion


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.