javax.swing.text

Class DefaultFormatterFactory

public class DefaultFormatterFactory extends JFormattedTextField.AbstractFormatterFactory implements Serializable

This class is Swing's only concrete implementation of JFormattedTextField.AbstractFormatterFactory. It holds several formatters and determines the best one to be used based on the passed-in value from the text field.

Since: 1.4

Constructor Summary
DefaultFormatterFactory()
Creates a DefaultFormatterFactory with no formatters
DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat)
Creates a new DefaultFormatterFactory with the specified formatters.
DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat)
Creates a new DefaultFormatterFactory with the specified formatters.
DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat)
Creates a new DefaultFormatterFactory with the specified formatters.
DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat, JFormattedTextField.AbstractFormatter nullFormat)
Creates a new DefaultFormatterFactory with the specified formatters.
Method Summary
JFormattedTextField.AbstractFormattergetDefaultFormatter()
Returns the formatted to be used if no other appropriate non-null formatter can be found.
JFormattedTextField.AbstractFormattergetDisplayFormatter()
Gets the displayFormatter.
JFormattedTextField.AbstractFormattergetEditFormatter()
Gets the editFormatter.
JFormattedTextField.AbstractFormattergetFormatter(JFormattedTextField tf)
Returns the appropriate formatter based on the state of tf.
JFormattedTextField.AbstractFormattergetNullFormatter()
Gets the formatter to use if the value of the JFormattedTextField is null.
voidsetDefaultFormatter(JFormattedTextField.AbstractFormatter defaultFormatter)
Sets the formatted to be used if no other appropriate non-null formatter can be found.
voidsetDisplayFormatter(JFormattedTextField.AbstractFormatter displayFormatter)
Sets the displayFormatter.
voidsetEditFormatter(JFormattedTextField.AbstractFormatter editFormatter)
Sets the editFormatter.
voidsetNullFormatter(JFormattedTextField.AbstractFormatter nullFormatter)
Sets the nullFormatter.

Constructor Detail

DefaultFormatterFactory

public DefaultFormatterFactory()
Creates a DefaultFormatterFactory with no formatters

DefaultFormatterFactory

public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat)
Creates a new DefaultFormatterFactory with the specified formatters.

Parameters: defaultFormat the formatter to use if no other appropriate non-null formatted can be found.

DefaultFormatterFactory

public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat)
Creates a new DefaultFormatterFactory with the specified formatters.

Parameters: defaultFormat the formatter to use if no other appropriate non-null formatted can be found. displayFormat the formatter to use if the JFormattedTextField doesn't have focus and either the value is not null or the value is null but no nullFormatter has been specified.

DefaultFormatterFactory

public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat)
Creates a new DefaultFormatterFactory with the specified formatters.

Parameters: defaultFormat the formatter to use if no other appropriate non-null formatted can be found. displayFormat the formatter to use if the JFormattedTextField doesn't have focus and either the value is not null or the value is null but no nullFormatter has been specified. editFormat the formatter to use if the JFormattedTextField has focus and either the value is not null or the value is null but not nullFormatter has been specified.

DefaultFormatterFactory

public DefaultFormatterFactory(JFormattedTextField.AbstractFormatter defaultFormat, JFormattedTextField.AbstractFormatter displayFormat, JFormattedTextField.AbstractFormatter editFormat, JFormattedTextField.AbstractFormatter nullFormat)
Creates a new DefaultFormatterFactory with the specified formatters.

Parameters: defaultFormat the formatter to use if no other appropriate non-null formatted can be found. displayFormat the formatter to use if the JFormattedTextField doesn't have focus and either the value is not null or the value is null but no nullFormatter has been specified. editFormat the formatter to use if the JFormattedTextField has focus and either the value is not null or the value is null but not nullFormatter has been specified. nullFormat the formatter to use when the value of the JFormattedTextField is null.

Method Detail

getDefaultFormatter

public JFormattedTextField.AbstractFormatter getDefaultFormatter()
Returns the formatted to be used if no other appropriate non-null formatter can be found.

Returns: the formatted to be used if no other appropriate non-null formatter can be found.

getDisplayFormatter

public JFormattedTextField.AbstractFormatter getDisplayFormatter()
Gets the displayFormatter. This is the formatter to use if the JFormattedTextField is not being edited and either the value is not null or the value is null and no nullFormatter has been specified.

Returns: the formatter to use if the JFormattedTextField is not being edited and either the value is not null or the value is null and no nullFormatter has been specified.

getEditFormatter

public JFormattedTextField.AbstractFormatter getEditFormatter()
Gets the editFormatter. This is the formatter to use if the JFormattedTextField is being edited and either the value is not null or the value is null and no nullFormatter has been specified.

Returns: the formatter to use if the JFormattedTextField is being edited and the value is not null or the value is null but no nullFormatted has been specified.

getFormatter

Returns the appropriate formatter based on the state of tf. If tf is null we return null, otherwise we return one of the following: 1. Returns nullFormatter if tf.getValue() is null and nullFormatter is not. 2. Returns editFormatter if tf.hasFocus() is true and editFormatter is not null. 3. Returns displayFormatter if tf.hasFocus() is false and displayFormatter is not null. 4. Otherwise returns defaultFormatter.

getNullFormatter

public JFormattedTextField.AbstractFormatter getNullFormatter()
Gets the formatter to use if the value of the JFormattedTextField is null.

Returns: the formatter to use for null values.

setDefaultFormatter

public void setDefaultFormatter(JFormattedTextField.AbstractFormatter defaultFormatter)
Sets the formatted to be used if no other appropriate non-null formatter can be found.

Parameters: defaultFormatter the formatted to be used if no other appropriate non-null formatter can be found.

setDisplayFormatter

public void setDisplayFormatter(JFormattedTextField.AbstractFormatter displayFormatter)
Sets the displayFormatter. This is the formatter to use if the JFormattedTextField is not being edited and either the value is not null or the value is null and no nullFormatter has been specified.

Parameters: displayFormatter the formatter to use.

setEditFormatter

public void setEditFormatter(JFormattedTextField.AbstractFormatter editFormatter)
Sets the editFormatter. This is the formatter to use if the JFormattedTextField is being edited and either the value is not null or the value is null and no nullFormatter has been specified.

Parameters: editFormatter the formatter to use.

setNullFormatter

public void setNullFormatter(JFormattedTextField.AbstractFormatter nullFormatter)
Sets the nullFormatter. This is the formatter to use if the value of the JFormattedTextField is null.

Parameters: nullFormatter the formatter to use for null values.