- java.lang.Object
-
- javax.swing.JFormattedTextField.AbstractFormatterFactory
-
- javax.swing.text.DefaultFormatterFactory
-
- All Implemented Interfaces:
Serializable
public class DefaultFormatterFactory extends JFormattedTextField.AbstractFormatterFactory implements Serializable
An implementation ofJFormattedTextField.AbstractFormatterFactory
.DefaultFormatterFactory
allows specifying a number of differentJFormattedTextField.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 twoJFormattedTextField.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 JavaBeans™ has been added to the
java.beans
package. Please seeXMLEncoder
.- Since:
- 1.4
- See Also:
JFormattedTextField
-
-
Constructor Summary
Constructors Constructor Description DefaultFormatterFactory()
Constructs aDefaultFormatterFactory
.DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat)
Creates aDefaultFormatterFactory
with the specifiedJFormattedTextField.AbstractFormatter
.DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat)
Creates aDefaultFormatterFactory
with the specifiedJFormattedTextField.AbstractFormatter
s.DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat)
Creates a DefaultFormatterFactory with the specified JFormattedTextField.AbstractFormatters.DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat, JFormattedTextField.AbstractFormatter nullFormat)
Creates a DefaultFormatterFactory with the specified JFormattedTextField.AbstractFormatters.
-
Method Summary
Modifier and Type Method Description JFormattedTextField.AbstractFormatter
getDefaultFormatter()
Returns theJFormattedTextField.AbstractFormatter
to use as a last resort, eg in case a display, edit or nullJFormattedTextField.AbstractFormatter
has not been specified.JFormattedTextField.AbstractFormatter
getDisplayFormatter()
Returns theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
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.JFormattedTextField.AbstractFormatter
getEditFormatter()
Returns theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
is being edited and either the value is not-null, or the value is null and a null formatter has has not been specified.JFormattedTextField.AbstractFormatter
getFormatter(JFormattedTextField source)
Returns either the default formatter, display formatter, editor formatter or null formatter based on the state of the JFormattedTextField.JFormattedTextField.AbstractFormatter
getNullFormatter()
Returns the formatter to use if the value is null.void
setDefaultFormatter(JFormattedTextField.AbstractFormatter atf)
Sets theJFormattedTextField.AbstractFormatter
to use as a last resort, eg in case a display, edit or nullJFormattedTextField.AbstractFormatter
has not been specified.void
setDisplayFormatter(JFormattedTextField.AbstractFormatter atf)
Sets theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
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.void
setEditFormatter(JFormattedTextField.AbstractFormatter atf)
Sets theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
is being edited and either the value is not-null, or the value is null and a null formatter has has not been specified.void
setNullFormatter(JFormattedTextField.AbstractFormatter atf)
Sets the formatter to use if the value of the JFormattedTextField is null.
-
-
-
Constructor Detail
-
DefaultFormatterFactory
public DefaultFormatterFactory()
Constructs aDefaultFormatterFactory
.
-
DefaultFormatterFactory
public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat)
Creates aDefaultFormatterFactory
with the specifiedJFormattedTextField.AbstractFormatter
.- Parameters:
defaultFormat
- JFormattedTextField.AbstractFormatter to be used if a more specific JFormattedTextField.AbstractFormatter can not be found.
-
DefaultFormatterFactory
public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat)
Creates aDefaultFormatterFactory
with the specifiedJFormattedTextField.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.
-
DefaultFormatterFactory
public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat)
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.
-
DefaultFormatterFactory
public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat, JFormattedTextField.AbstractFormatter 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.
-
-
Method Detail
-
setDefaultFormatter
public void setDefaultFormatter(JFormattedTextField.AbstractFormatter atf)
Sets theJFormattedTextField.AbstractFormatter
to use as a last resort, eg in case a display, edit or nullJFormattedTextField.AbstractFormatter
has not been specified.- Parameters:
atf
- JFormattedTextField.AbstractFormatter used if a more specific is not specified
-
getDefaultFormatter
public JFormattedTextField.AbstractFormatter getDefaultFormatter()
Returns theJFormattedTextField.AbstractFormatter
to use as a last resort, eg in case a display, edit or nullJFormattedTextField.AbstractFormatter
has not been specified.- Returns:
- JFormattedTextField.AbstractFormatter used if a more specific one is not specified.
-
setDisplayFormatter
public void setDisplayFormatter(JFormattedTextField.AbstractFormatter atf)
Sets theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
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.- Parameters:
atf
- JFormattedTextField.AbstractFormatter to use when the JFormattedTextField does not have focus
-
getDisplayFormatter
public JFormattedTextField.AbstractFormatter getDisplayFormatter()
Returns theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
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.- Returns:
- JFormattedTextField.AbstractFormatter to use when the JFormattedTextField does not have focus
-
setEditFormatter
public void setEditFormatter(JFormattedTextField.AbstractFormatter atf)
Sets theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
is being edited and either the value is not-null, or the value is null and a null formatter has has not been specified.- Parameters:
atf
- JFormattedTextField.AbstractFormatter to use when the component has focus
-
getEditFormatter
public JFormattedTextField.AbstractFormatter getEditFormatter()
Returns theJFormattedTextField.AbstractFormatter
to use if theJFormattedTextField
is being edited and either the value is not-null, or the value is null and a null formatter has has not been specified.- Returns:
- JFormattedTextField.AbstractFormatter to use when the component has focus
-
setNullFormatter
public void setNullFormatter(JFormattedTextField.AbstractFormatter atf)
Sets the formatter to use if the value of the JFormattedTextField is null.- Parameters:
atf
- JFormattedTextField.AbstractFormatter to use when the value of the JFormattedTextField is null.
-
getNullFormatter
public JFormattedTextField.AbstractFormatter getNullFormatter()
Returns the formatter to use if the value is null.- Returns:
- JFormattedTextField.AbstractFormatter to use when the value is null
-
getFormatter
public JFormattedTextField.AbstractFormatter getFormatter(JFormattedTextField source)
Returns either the default formatter, display formatter, editor formatter or null formatter based on the state of the JFormattedTextField.- Specified by:
getFormatter
in classJFormattedTextField.AbstractFormatterFactory
- Parameters:
source
- JFormattedTextField requesting JFormattedTextField.AbstractFormatter- Returns:
- JFormattedTextField.AbstractFormatter to handle formatting duties.
-
-