javax.swing.text
Class InternationalFormatter
- Cloneable, Serializable
This extends
DefaultFormatter
so that the value to string
conversion is done via a
Format
object. This allows
various additional formats to be handled by JFormattedField.
clone , getAllowsInvalid , getCommitsOnValidEdit , getDocumentFilter , getOverwriteMode , getValueClass , install , setAllowsInvalid , setCommitsOnValidEdit , setOverwriteMode , setValueClass , stringToValue , valueToString |
clone , getActions , getDocumentFilter , getFormattedTextField , getNavigationFilter , install , invalidEdit , setEditValid , stringToValue , uninstall , valueToString |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
InternationalFormatter
public InternationalFormatter()
Creates a new InternationalFormatter with no Format specified.
InternationalFormatter
public InternationalFormatter(Format format)
Creates a new InternationalFormatter that uses the specified
Format object for value to string conversion.
format
- the Format object to use for value to string conversion
getFields
public Format.Field[] getFields(int offset)
Returns the
Format.Field
constants that are associated with
the specified position in the text.
If
offset
is not a valid location in the input field,
an empty array of fields is returned.
offset
- the position in the text from which we want to fetch
the fields constants
- the field values associated with the specified position in
the text
getFormat
public Format getFormat()
Returns the currently used Format object that is used to format
the JFormattedField.
getMaximum
public Comparable<T> getMaximum()
Returns the maximal value that is allowed by this Formatter.
A null
value means that there is no restriction.
- the maximal value that is allowed by this Formatter or
null
if there is no restriction
getMinimum
public Comparable<T> getMinimum()
Returns the minimal value that is allowed by this Formatter.
A null
value means that there is no restriction.
- the minimal value that is allowed by this Formatter or
null
if there is no restriction
install
public void install(JFormattedTextField ftf)
Installs the formatter on the specified
JFormattedTextField
.
This method does the following things:
- Display the value of #valueToString in the
JFormattedTextField
- Install the Actions from #getActions on the
JTextField
- Install the DocumentFilter returned by #getDocumentFilter
- Install the NavigationFilter returned by #getNavigationFilter
This method is typically not overridden by subclasses. Instead override
one of the mentioned methods in order to customize behaviour.
- install in interface DefaultFormatter
setFormat
public void setFormat(Format format)
Sets the Format object that is used to convert values to strings.
format
- the Format to use for value to string conversion
setMaximum
public void setMaximum(Comparable<T> maxValue)
Sets the maximum value that is allowed by this Formatter. The maximum
value is given as an object that implements the
Comparable
interface.
If
maxValue
is null, then the Formatter has no restrictions
at the upper end.
If value class is not yet specified and
maxValue
is not
null, then
valueClass
is set to the class of the maximum
value.
maxValue
- the maximum permissable value
setMinimum
public void setMinimum(Comparable<T> minValue)
Sets the minimum value that is allowed by this Formatter. The minimum
value is given as an object that implements the
Comparable
interface.
If
minValue
is null, then the Formatter has no restrictions
at the lower end.
If value class is not yet specified and
minValue
is not
null, then
valueClass
is set to the class of the minimum
value.
minValue
- the minimum permissable value
stringToValue
public Object stringToValue(String string)
throws ParseException
Converts a String (from the JFormattedTextField input) to a value.
This is achieved by invoking
Format.parseObject(String)
on
the specified
Format
object.
This implementation differs slightly from
DefaultFormatter
,
it does:
- Convert the string to an
Object
using the
Formatter
. - If a
valueClass
has been set, this object is passed to
DefaultFormatter.stringToValue(String)
so that the value
has the correct type. This may or may not work correctly, depending on
the implementation of toString() in the value class and if the class
implements a constructor that takes one String as argument. - If no
ParseException
has been thrown so far, we check if the
value exceeds either minimum
or maximum
if
one of those has been specified and throw a ParseException
if it does. - Return the value.
If no format has been specified, then
DefaultFormatter.stringToValue(String)
is invoked as fallback.
- stringToValue in interface DefaultFormatter
string
- the string to convert
ParseException
- if the string cannot be converted into
a value object (e.g. invalid input)
InternationalFormatter.java --
Copyright (C) 2005, 2006 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.