DefaultFormatterFactorypublic class DefaultFormatterFactory extends JFormattedTextField$AbstractFormatterFactory implements SerializableAn 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 {@link java.beans.XMLEncoder}. |
Fields Summary |
---|
private JFormattedTextField$AbstractFormatter | defaultFormatDefault AbstractFormatter to use if a more specific one has
not been specified. | private JFormattedTextField$AbstractFormatter | displayFormatJFormattedTextField.AbstractFormatter to use for display. | private JFormattedTextField$AbstractFormatter | editFormatJFormattedTextField.AbstractFormatter to use for editing. | private JFormattedTextField$AbstractFormatter | nullFormatJFormattedTextField.AbstractFormatter to use if the value
is null. |
Constructors Summary |
---|
public DefaultFormatterFactory()
| public DefaultFormatterFactory(JFormattedTextField$AbstractFormatter defaultFormat)Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatter .
this(defaultFormat, null);
| public DefaultFormatterFactory(JFormattedTextField$AbstractFormatter defaultFormat, JFormattedTextField$AbstractFormatter displayFormat)Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatter s.
this(defaultFormat, displayFormat, null);
| public DefaultFormatterFactory(JFormattedTextField$AbstractFormatter defaultFormat, JFormattedTextField$AbstractFormatter displayFormat, JFormattedTextField$AbstractFormatter editFormat)Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatters.
this(defaultFormat, displayFormat, editFormat, null);
| public DefaultFormatterFactory(JFormattedTextField$AbstractFormatter defaultFormat, JFormattedTextField$AbstractFormatter displayFormat, JFormattedTextField$AbstractFormatter editFormat, JFormattedTextField$AbstractFormatter nullFormat)Creates a DefaultFormatterFactory with the specified
JFormattedTextField.AbstractFormatters.
this.defaultFormat = defaultFormat;
this.displayFormat = displayFormat;
this.editFormat = editFormat;
this.nullFormat = nullFormat;
|
Methods Summary |
---|
public javax.swing.JFormattedTextField$AbstractFormatter | getDefaultFormatter()Returns the JFormattedTextField.AbstractFormatter to use
as a last resort, eg in case a display, edit or null
JFormattedTextField.AbstractFormatter
has not been specified.
return defaultFormat;
| public javax.swing.JFormattedTextField$AbstractFormatter | getDisplayFormatter()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.
return displayFormat;
| public javax.swing.JFormattedTextField$AbstractFormatter | getEditFormatter()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.
return editFormat;
| public javax.swing.JFormattedTextField$AbstractFormatter | getFormatter(javax.swing.JFormattedTextField source)Returns either the default formatter, display formatter, editor
formatter or null formatter based on the state of the
JFormattedTextField.
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;
| public javax.swing.JFormattedTextField$AbstractFormatter | getNullFormatter()Returns the formatter to use if the value is null.
return nullFormat;
| public void | setDefaultFormatter(javax.swing.JFormattedTextField$AbstractFormatter 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.
defaultFormat = atf;
| public void | setDisplayFormatter(javax.swing.JFormattedTextField$AbstractFormatter 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.
displayFormat = atf;
| public void | setEditFormatter(javax.swing.JFormattedTextField$AbstractFormatter 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.
editFormat = atf;
| public void | setNullFormatter(javax.swing.JFormattedTextField$AbstractFormatter atf)Sets the formatter to use if the value of the JFormattedTextField is
null.
nullFormat = atf;
|
|