javax.swing.text

Class MaskFormatter

Implemented Interfaces:
Cloneable, Serializable

public class MaskFormatter
extends DefaultFormatter

See Also:
Serialized Form

Constructor Summary

MaskFormatter()
Creates a new instance of DefaultFormatter.
MaskFormatter(String mask)
Creates a MaskFormatter with the specified mask.

Method Summary

String
getInvalidCharacters()
Returns a String containing the characters that are not valid for input for this MaskFormatter.
String
getMask()
Returns the mask used in this MaskFormatter.
String
getPlaceholder()
Returns the place holder String that is used in place of missing characters when the value doesn't completely fill in the spaces in the mask.
char
getPlaceholderCharacter()
Returns the character used in place of missing characters when the value doesn't completely fill the mask.
String
getValidCharacters()
Returns a String containing the characters that are valid for input for this MaskFormatter.
boolean
getValueContainsLiteralCharacters()
Returns true if stringToValue should return the literal characters in the mask.
void
install(JFormattedTextField ftf)
Installs this MaskFormatter on the JFormattedTextField.
void
setInvalidCharacters(String invalidCharacters)
Sets characters that are not valid for input.
void
setMask(String mask)
Sets the mask for this MaskFormatter.
void
setPlaceholder(String placeholder)
Sets the string to use if the value does not completely fill in the mask.
void
setPlaceholderCharacter(char placeholder)
Sets the char to use if the value does not completely fill in the mask.
void
setValidCharacters(String validCharacters)
Sets characters that are valid for input.
void
setValueContainsLiteralCharacters(boolean containsLiteralChars)
Determines whether stringToValue will return literal characters or not.
Object
stringToValue(String value)
Parses the text using the mask, valid characters, and invalid characters to determine the appropriate Object to return.
String
valueToString(Object value)
Returns a String representation of the Object value based on the mask.

Methods inherited from class javax.swing.text.DefaultFormatter

clone, getAllowsInvalid, getCommitsOnValidEdit, getDocumentFilter, getOverwriteMode, getValueClass, install, setAllowsInvalid, setCommitsOnValidEdit, setOverwriteMode, setValueClass, stringToValue, valueToString

Methods inherited from class javax.swing.JFormattedTextField.AbstractFormatter

clone, getActions, getDocumentFilter, getFormattedTextField, getNavigationFilter, install, invalidEdit, setEditValid, stringToValue, uninstall, valueToString

Methods inherited from class java.lang.Object

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

Constructor Details

MaskFormatter

public MaskFormatter()
Creates a new instance of DefaultFormatter.

MaskFormatter

public MaskFormatter(String mask)
            throws ParseException
Creates a MaskFormatter with the specified mask.
Parameters:
mask -
Throws:
ParseException -

Method Details

getInvalidCharacters

public String getInvalidCharacters()
Returns a String containing the characters that are not valid for input for this MaskFormatter.
Returns:
a String containing the invalid characters.

getMask

public String getMask()
Returns the mask used in this MaskFormatter.
Returns:
the mask used in this MaskFormatter.

getPlaceholder

public String getPlaceholder()
Returns the place holder String that is used in place of missing characters when the value doesn't completely fill in the spaces in the mask.
Returns:
the place holder String.

getPlaceholderCharacter

public char getPlaceholderCharacter()
Returns the character used in place of missing characters when the value doesn't completely fill the mask.
Returns:
the place holder character

getValidCharacters

public String getValidCharacters()
Returns a String containing the characters that are valid for input for this MaskFormatter.
Returns:
a String containing the valid characters.

getValueContainsLiteralCharacters

public boolean getValueContainsLiteralCharacters()
Returns true if stringToValue should return the literal characters in the mask.
Returns:
true if stringToValue should return the literal characters in the mask

install

public void install(JFormattedTextField ftf)
Installs this MaskFormatter on the JFormattedTextField. Invokes valueToString to convert the current value from the JFormattedTextField to a String, then installs the Actions from getActions, the DocumentFilter from getDocumentFilter, and the NavigationFilter from getNavigationFilter. If valueToString throws a ParseException, this method sets the text to an empty String and marks the JFormattedTextField as invalid.
Overrides:
install in interface DefaultFormatter

setInvalidCharacters

public void setInvalidCharacters(String invalidCharacters)
Sets characters that are not valid for input. If invalidCharacters is non-null then no characters contained in it will be allowed to be input.
Parameters:
invalidCharacters - the String specifying invalid characters.

setMask

public void setMask(String mask)
            throws ParseException
Sets the mask for this MaskFormatter.
Parameters:
mask - the new mask for this MaskFormatter
Throws:
ParseException - if mask is not valid.

setPlaceholder

public void setPlaceholder(String placeholder)
Sets the string to use if the value does not completely fill in the mask. If this is null, the place holder character will be used instead.
Parameters:
placeholder - the String to use if the value doesn't completely fill in the mask.

setPlaceholderCharacter

public void setPlaceholderCharacter(char placeholder)
Sets the char to use if the value does not completely fill in the mask. This is only used if the place holder String has not been set or does not completely fill in the mask.
Parameters:
placeholder - the char to use if the value doesn't completely fill in the mask.

setValidCharacters

public void setValidCharacters(String validCharacters)
Sets characters that are valid for input. If validCharacters is non-null then no characters that are not contained in it will be allowed to be input.
Parameters:
validCharacters - the String specifying valid characters.

setValueContainsLiteralCharacters

public void setValueContainsLiteralCharacters(boolean containsLiteralChars)
Determines whether stringToValue will return literal characters or not.
Parameters:
containsLiteralChars - if true, stringToValue will return the literal characters in the mask, otherwise it will not.

stringToValue

public Object stringToValue(String value)
            throws ParseException
Parses the text using the mask, valid characters, and invalid characters to determine the appropriate Object to return. This strips the literal characters if necessary and invokes super.stringToValue. If the paramter is invalid for the current mask and valid/invalid character sets this method will throw a ParseException.
Overrides:
stringToValue in interface DefaultFormatter
Parameters:
value - the String to parse
Throws:
ParseException - if value doesn't match the mask and valid/invalid character sets

valueToString

public String valueToString(Object value)
            throws ParseException
Returns a String representation of the Object value based on the mask.
Overrides:
valueToString in interface DefaultFormatter
Parameters:
value - the value to convert
Throws:
ParseException - if value is invalid for this mask and valid/invalid character sets

MaskFormatter.java -- 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.