javax.swing.text
Class DefaultFormatterFactory

java.lang.Object
  extended by javax.swing.JFormattedTextField.AbstractFormatterFactory
      extended by javax.swing.text.DefaultFormatterFactory
All Implemented Interfaces:
Serializable

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
See Also:
Serialized Form

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.AbstractFormatter getDefaultFormatter()
          Returns the formatted to be used if no other appropriate non-null formatter can be found.
 JFormattedTextField.AbstractFormatter getDisplayFormatter()
          Gets the displayFormatter.
 JFormattedTextField.AbstractFormatter getEditFormatter()
          Gets the editFormatter.
 JFormattedTextField.AbstractFormatter getFormatter(JFormattedTextField tf)
          Returns the appropriate formatter based on the state of tf.
 JFormattedTextField.AbstractFormatter getNullFormatter()
          Gets the formatter to use if the value of the JFormattedTextField is null.
 void setDefaultFormatter(JFormattedTextField.AbstractFormatter defaultFormatter)
          Sets the formatted to be used if no other appropriate non-null formatter can be found.
 void setDisplayFormatter(JFormattedTextField.AbstractFormatter displayFormatter)
          Sets the displayFormatter.
 void setEditFormatter(JFormattedTextField.AbstractFormatter editFormatter)
          Sets the editFormatter.
 void setNullFormatter(JFormattedTextField.AbstractFormatter nullFormatter)
          Sets the nullFormatter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.

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.

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.

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.

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.

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.

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.

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.

getFormatter

public JFormattedTextField.AbstractFormatter getFormatter(JFormattedTextField tf)
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.

Specified by:
getFormatter in class JFormattedTextField.AbstractFormatterFactory