javax.swing.text

Class DefaultFormatterFactory

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 javax.swing.JFormattedTextField.AbstractFormatterFactory

getFormatter

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

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 Details

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

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.
Overrides:
getFormatter in interface JFormattedTextField.AbstractFormatterFactory

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.

DefaultFormatterFactory.java -- FIXME: briefly describe file purpose Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.