javax.swing.text
public class: DefaultFormatterFactory [javadoc |
source]
java.lang.Object
javax.swing.JFormattedTextField.AbstractFormatterFactory
javax.swing.text.DefaultFormatterFactory
All Implemented Interfaces:
java$io$Serializable
An implementation of
JFormattedTextField.AbstractFormatterFactory
.
DefaultFormatterFactory
allows specifying a number of
different
JFormattedTextField.AbstractFormatter
s that are to
be used.
The most important one is the default one
(
setDefaultFormatter
). The default formatter will be used
if a more specific formatter could not be found. The following process
is used to determine the appropriate formatter to use.
- Is the passed in value null? Use the null formatter.
- Does the
JFormattedTextField
have focus? Use the edit
formatter.
- Otherwise, use the display formatter.
- If a non-null
AbstractFormatter
has not been found, use
the default formatter.
The following code shows how to configure a
JFormattedTextField
with two
JFormattedTextField.AbstractFormatter
s, one for display and
one for editing.
JFormattedTextField.AbstractFormatter editFormatter = ...;
JFormattedTextField.AbstractFormatter displayFormatter = ...;
DefaultFormatterFactory factory = new DefaultFormatterFactory(
displayFormatter, displayFormatter, editFormatter);
JFormattedTextField tf = new JFormattedTextField(factory);
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 JavaBeansTM
has been added to the java.beans
package.
Please see java.beans.XMLEncoder .
Constructor: |
public DefaultFormatterFactory() {
}
|
public DefaultFormatterFactory(AbstractFormatter defaultFormat) {
this(defaultFormat, null);
}
Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatter . Parameters:
defaultFormat - JFormattedTextField.AbstractFormatter to be used
if a more specific
JFormattedTextField.AbstractFormatter can not be
found.
|
public DefaultFormatterFactory(AbstractFormatter defaultFormat,
AbstractFormatter displayFormat) {
this(defaultFormat, displayFormat, null);
}
Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatter s. Parameters:
defaultFormat - JFormattedTextField.AbstractFormatter to be used
if a more specific
JFormattedTextField.AbstractFormatter can not be
found.
displayFormat - JFormattedTextField.AbstractFormatter to be used
when the JFormattedTextField does not have focus.
|
public DefaultFormatterFactory(AbstractFormatter defaultFormat,
AbstractFormatter displayFormat,
AbstractFormatter editFormat) {
this(defaultFormat, displayFormat, editFormat, null);
}
Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatters. Parameters:
defaultFormat - JFormattedTextField.AbstractFormatter to be used
if a more specific
JFormattedTextField.AbstractFormatter can not be
found.
displayFormat - JFormattedTextField.AbstractFormatter to be used
when the JFormattedTextField does not have focus.
editFormat - JFormattedTextField.AbstractFormatter to be used
when the JFormattedTextField has focus.
|
public DefaultFormatterFactory(AbstractFormatter defaultFormat,
AbstractFormatter displayFormat,
AbstractFormatter editFormat,
AbstractFormatter nullFormat) {
this.defaultFormat = defaultFormat;
this.displayFormat = displayFormat;
this.editFormat = editFormat;
this.nullFormat = nullFormat;
}
Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatters. Parameters:
defaultFormat - JFormattedTextField.AbstractFormatter to be used
if a more specific
JFormattedTextField.AbstractFormatter can not be
found.
displayFormat - JFormattedTextField.AbstractFormatter to be used
when the JFormattedTextField does not have focus.
editFormat - JFormattedTextField.AbstractFormatter to be used
when the JFormattedTextField has focus.
nullFormat - JFormattedTextField.AbstractFormatter to be used
when the JFormattedTextField has a null value.
|
Methods from javax.swing.JFormattedTextField$AbstractFormatterFactory: |
---|
getFormatter |
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from javax.swing.text.DefaultFormatterFactory Detail: |
public AbstractFormatter getDefaultFormatter() {
return defaultFormat;
}
Returns the JFormattedTextField.AbstractFormatter to use
as a last resort, eg in case a display, edit or null
JFormattedTextField.AbstractFormatter
has not been specified. |
public AbstractFormatter getDisplayFormatter() {
return displayFormat;
}
Returns the JFormattedTextField.AbstractFormatter to use
if the JFormattedTextField is not being edited and either
the value is not-null, or the value is null and a null formatter has
has not been specified. |
public AbstractFormatter getEditFormatter() {
return editFormat;
}
Returns the JFormattedTextField.AbstractFormatter to use
if the JFormattedTextField is being edited and either
the value is not-null, or the value is null and a null formatter has
has not been specified. |
public AbstractFormatter getFormatter(JFormattedTextField source) {
JFormattedTextField.AbstractFormatter format = null;
if (source == null) {
return null;
}
Object value = source.getValue();
if (value == null) {
format = getNullFormatter();
}
if (format == null) {
if (source.hasFocus()) {
format = getEditFormatter();
}
else {
format = getDisplayFormatter();
}
if (format == null) {
format = getDefaultFormatter();
}
}
return format;
}
Returns either the default formatter, display formatter, editor
formatter or null formatter based on the state of the
JFormattedTextField. |
public AbstractFormatter getNullFormatter() {
return nullFormat;
}
Returns the formatter to use if the value is null. |
public void setDefaultFormatter(AbstractFormatter atf) {
defaultFormat = atf;
}
Sets the JFormattedTextField.AbstractFormatter to use as
a last resort, eg in case a display, edit or null
JFormattedTextField.AbstractFormatter has not been
specified. |
public void setDisplayFormatter(AbstractFormatter atf) {
displayFormat = atf;
}
Sets the JFormattedTextField.AbstractFormatter to use if
the JFormattedTextField is not being edited and either
the value is not-null, or the value is null and a null formatter has
has not been specified. |
public void setEditFormatter(AbstractFormatter atf) {
editFormat = atf;
}
Sets the JFormattedTextField.AbstractFormatter to use if
the JFormattedTextField is being edited and either
the value is not-null, or the value is null and a null formatter has
has not been specified. |
public void setNullFormatter(AbstractFormatter atf) {
nullFormat = atf;
}
Sets the formatter to use if the value of the JFormattedTextField is
null. |