|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.swing.JFormattedTextField.AbstractFormatter
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.
AbstractFormatter
s 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 | |
JFormattedTextField.AbstractFormatter()
|
Method Summary | |
protected Object |
clone()
Clones the AbstractFormatter . |
protected Action[] |
getActions()
Subclass and override if you wish to provide a custom set of Action s. |
protected DocumentFilter |
getDocumentFilter()
Subclass and override if you wish to provide a DocumentFilter to restrict what can be input. |
protected JFormattedTextField |
getFormattedTextField()
Returns the current JFormattedTextField the
AbstractFormatter is installed on. |
protected NavigationFilter |
getNavigationFilter()
Subclass and override if you wish to provide a filter to restrict where the user can navigate to. |
void |
install(JFormattedTextField ftf)
Installs the AbstractFormatter onto a particular
JFormattedTextField . |
protected void |
invalidEdit()
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 |
stringToValue(String text)
Parses text returning an arbitrary Object. |
void |
uninstall()
Uninstalls any state the AbstractFormatter may have
installed on the JFormattedTextField . |
abstract String |
valueToString(Object value)
Returns the string value to display for value . |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public JFormattedTextField.AbstractFormatter()
Method Detail |
public void install(JFormattedTextField ftf)
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 Action
s 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.
ftf
- JFormattedTextField to format for, may be null indicating
uninstall from current JFormattedTextField.public void uninstall()
AbstractFormatter
may have
installed on the JFormattedTextField
. This resets the
DocumentFilter
, NavigationFilter
and additional Action
s installed on the
JFormattedTextField
.
public abstract Object stringToValue(String text) throws ParseException
text
returning an arbitrary Object. Some
formatters may return null.
text
- String to convert
ParseException
- if there is an error in the conversionpublic abstract String valueToString(Object value) throws ParseException
value
.
value
- Value to convert
ParseException
- if there is an error in the conversionprotected JFormattedTextField getFormattedTextField()
JFormattedTextField
the
AbstractFormatter
is installed on.
protected void invalidEdit()
protected void setEditValid(boolean valid)
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.
valid
- Valid state of the JFormattedTextFieldprotected Action[] getActions()
Action
s. install
will install these
on the JFormattedTextField
's ActionMap
.
protected DocumentFilter getDocumentFilter()
DocumentFilter
to restrict what can be input.
install
will install the returned value onto
the JFormattedTextField
.
protected NavigationFilter getNavigationFilter()
install
will install the returned value onto
the JFormattedTextField
.
protected Object clone() throws CloneNotSupportedException
AbstractFormatter
. The returned instance
is not associated with a JFormattedTextField
.
clone
in class Object
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
|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.