com.sibvisions.rad.ui.swing.ext.text
Class NumberFormatter

java.lang.Object
  extended by javax.swing.JFormattedTextField.AbstractFormatter
      extended by com.sibvisions.rad.ui.swing.ext.text.NumberFormatter
All Implemented Interfaces:
java.io.Serializable

public class NumberFormatter
extends javax.swing.JFormattedTextField.AbstractFormatter

The NumberFormatter can handle null values and empty Strings and handle complex number formats.

See Also:
Serialized Form

Constructor Summary
NumberFormatter()
          Constructs a new NumberFormatter with default number format.
NumberFormatter(NumberUtil pNumberUtil)
          Constructs a new NumberFormatter with a specific number format.
 
Method Summary
 IDataType getDataType()
          Gets the data type.
protected  javax.swing.text.DocumentFilter getDocumentFilter()
          
 java.text.NumberFormat getNumberFormat()
          Gets the number format.
 java.lang.String getNumberPattern()
          Gets the number pattern.
 void replaceAllowed(javax.swing.text.DocumentFilter.FilterBypass pFb, int pOffset, int pLength, java.lang.String pText, javax.swing.text.AttributeSet pAttr)
          Replaces only the allowed text.
 void setDataType(IDataType pDataType)
          Sets the data type.
 void setNumberFormat(java.text.NumberFormat pNumberFormat)
          Gets the number format.
 void setNumberPattern(java.lang.String pNumberPattern)
          Gets the number pattern.
 java.lang.Object stringToValue(java.lang.String pText)
          
 java.lang.String valueToString(java.lang.Object pValue)
          
 
Methods inherited from class javax.swing.JFormattedTextField.AbstractFormatter
clone, getActions, getFormattedTextField, getNavigationFilter, install, invalidEdit, setEditValid, uninstall
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NumberFormatter

public NumberFormatter()
Constructs a new NumberFormatter with default number format.


NumberFormatter

public NumberFormatter(NumberUtil pNumberUtil)
Constructs a new NumberFormatter with a specific number format.

Parameters:
pNumberUtil - the number format
Method Detail

getDocumentFilter

protected javax.swing.text.DocumentFilter getDocumentFilter()

Overrides:
getDocumentFilter in class javax.swing.JFormattedTextField.AbstractFormatter

stringToValue

public java.lang.Object stringToValue(java.lang.String pText)
                               throws java.text.ParseException

Specified by:
stringToValue in class javax.swing.JFormattedTextField.AbstractFormatter
Throws:
java.text.ParseException

valueToString

public java.lang.String valueToString(java.lang.Object pValue)
                               throws java.text.ParseException

Specified by:
valueToString in class javax.swing.JFormattedTextField.AbstractFormatter
Throws:
java.text.ParseException

getDataType

public IDataType getDataType()
Gets the data type.

Returns:
thedata type.

setDataType

public void setDataType(IDataType pDataType)
Sets the data type.

Parameters:
pDataType - the data type.

getNumberFormat

public java.text.NumberFormat getNumberFormat()
Gets the number format.

Returns:
the number format.

setNumberFormat

public void setNumberFormat(java.text.NumberFormat pNumberFormat)
Gets the number format.

Parameters:
pNumberFormat - the number format.

getNumberPattern

public java.lang.String getNumberPattern()
Gets the number pattern.

Returns:
the number pattern.

setNumberPattern

public void setNumberPattern(java.lang.String pNumberPattern)
Gets the number pattern.

Parameters:
pNumberPattern - the number pattern.

replaceAllowed

public void replaceAllowed(javax.swing.text.DocumentFilter.FilterBypass pFb,
                           int pOffset,
                           int pLength,
                           java.lang.String pText,
                           javax.swing.text.AttributeSet pAttr)
                    throws javax.swing.text.BadLocationException
Replaces only the allowed text.

Parameters:
pFb - Filter bypass
pOffset - Location in Document
pLength - Length of text to delete
pText - Text to insert, null indicates no text to insert
pAttr - AttributeSet indicating attributes of inserted text, null is legal.
Throws:
javax.swing.text.BadLocationException - the given insert is not a valid position within the document


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.