org.formaria.swing
Class MoneyEdit

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JTextField
                      extended by javax.swing.JFormattedTextField
                          extended by org.formaria.swing.Edit
                              extended by org.formaria.swing.MoneyEdit
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants, ErrorDisplay, TextHolder

public class MoneyEdit
extends Edit
implements TextHolder, ErrorDisplay

Handles input of monetary values, stripping out the thousand separators as needed. THIS CLASS IS INCOMPLETE

Copyright (c) Formaria Ltd., 2008, This software is licensed under the GNU Public License (GPL), please see license.txt for more details. If you make commercial use of this software you must purchase a commercial license from formaria.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFormattedTextField
javax.swing.JFormattedTextField.AbstractFormatter, javax.swing.JFormattedTextField.AbstractFormatterFactory
 
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.util.Currency currency
           
protected  java.lang.String errorMessage
           
protected  int errorStatus
           
protected  java.text.NumberFormat format
           
protected  java.util.Locale locale
           
protected  char thousandSeparator
           
 
Fields inherited from class org.formaria.swing.Edit
antiAlias
 
Fields inherited from class javax.swing.JFormattedTextField
COMMIT, COMMIT_OR_REVERT, PERSIST, REVERT
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MoneyEdit()
          Create a new MoneyEdit
 
Method Summary
 java.lang.String getCurrency()
          Set the format of the currency field
 java.lang.String getFormat()
          Set the format of the currency field
 java.lang.String getLocaleCountry()
          Get the locale country code
 java.lang.String getLocaleLanguage()
          Get the locale language code
 java.text.NumberFormat getNumberFormat()
          Set the DecimalFormat of the currency field
 java.lang.String getText()
          Gets the value of the control stripping out and thousand separators and spaces in the process
 java.lang.String getThousandSeparator()
          Get the thousand separator
 boolean isPrefixed()
          Does the format to use a currency prefix
 boolean isSuffixed()
          Does the format to use a currency suffix
 void paint(java.awt.Graphics g)
          Paint the component, rendering the error badge if necessary
 void setCurrency(java.lang.String currencyCode)
          Set the currency field
 void setErrorMessage(java.lang.String errorMsg)
          Set the error message
 void setErrorStatus(int status)
          Set the error status
 void setFormat(java.lang.String format)
          Set the format of the currency field
 void setLocaleCountry(java.lang.String countryCode)
          Set the locale country code e.g 'IE', 'US', 'FR'
 void setLocaleLanguage(java.lang.String localeCode)
          Set the country code for the currency e.g 'EN', 'DA', 'FR'
 void setNumberFormat(java.text.NumberFormat df)
          Set the DecimalFormat of the currency field
 void setPrefixed(boolean state)
          Set the currency prefix flag
 void setSuffixed(boolean state)
          Set the currency suffix flag
 void setThousandSeparator(java.lang.String thousandSeparator)
          Set the thousand separator
 
Methods inherited from class org.formaria.swing.Edit
getToolTipText, paintComponent, setAntiAlias, setBorderStyle, setMarginSize, setToolTip
 
Methods inherited from class javax.swing.JFormattedTextField
commitEdit, getActions, getFocusLostBehavior, getFormatter, getFormatterFactory, getUIClassID, getValue, invalidEdit, isEditValid, processFocusEvent, processInputMethodEvent, setDocument, setFocusLostBehavior, setFormatter, setFormatterFactory, setValue
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.formaria.aria.TextHolder
setText
 

Field Detail

thousandSeparator

protected char thousandSeparator

format

protected java.text.NumberFormat format

currency

protected java.util.Currency currency

locale

protected java.util.Locale locale

errorStatus

protected int errorStatus

errorMessage

protected java.lang.String errorMessage
Constructor Detail

MoneyEdit

public MoneyEdit()
Create a new MoneyEdit

Method Detail

getText

public java.lang.String getText()
Gets the value of the control stripping out and thousand separators and spaces in the process

Specified by:
getText in interface TextHolder
Overrides:
getText in class javax.swing.text.JTextComponent
Returns:
the stripped value

setFormat

public void setFormat(java.lang.String format)
Set the format of the currency field

Overrides:
setFormat in class Edit
Parameters:
format - the new currency format - the group separator

getFormat

public java.lang.String getFormat()
Set the format of the currency field

Returns:
- the group separator

setNumberFormat

public void setNumberFormat(java.text.NumberFormat df)
Set the DecimalFormat of the currency field

Parameters:
df - the new DecimalFormat

getNumberFormat

public java.text.NumberFormat getNumberFormat()
Set the DecimalFormat of the currency field

Returns:
- the format

setCurrency

public void setCurrency(java.lang.String currencyCode)
Set the currency field

Parameters:
currency - the new currency

setLocaleLanguage

public void setLocaleLanguage(java.lang.String localeCode)
Set the country code for the currency e.g 'EN', 'DA', 'FR'

Parameters:
localeCode - the language code of the new currency

setLocaleCountry

public void setLocaleCountry(java.lang.String countryCode)
Set the locale country code e.g 'IE', 'US', 'FR'

Parameters:
countryCode - country code of the new currency

getLocaleLanguage

public java.lang.String getLocaleLanguage()
Get the locale language code

Returns:
the language code

getLocaleCountry

public java.lang.String getLocaleCountry()
Get the locale country code

Returns:
the language code

getCurrency

public java.lang.String getCurrency()
Set the format of the currency field

Returns:
- the group separator

isPrefixed

public boolean isPrefixed()
Does the format to use a currency prefix

Returns:
true if a prefix is used

setPrefixed

public void setPrefixed(boolean state)
Set the currency prefix flag

Parameters:
state - true if a prefix is to be used

isSuffixed

public boolean isSuffixed()
Does the format to use a currency suffix

Returns:
trueif a prefix is used

setSuffixed

public void setSuffixed(boolean state)
Set the currency suffix flag

Parameters:
state - true if a suffix is to be used

getThousandSeparator

public java.lang.String getThousandSeparator()
Get the thousand separator

Returns:

setThousandSeparator

public void setThousandSeparator(java.lang.String thousandSeparator)
Set the thousand separator

Parameters:
thousandSeparator -

paint

public void paint(java.awt.Graphics g)
Paint the component, rendering the error badge if necessary

Overrides:
paint in class javax.swing.JComponent
Parameters:
g -

setErrorStatus

public void setErrorStatus(int status)
Set the error status

Specified by:
setErrorStatus in interface ErrorDisplay
Overrides:
setErrorStatus in class Edit
Parameters:
status -

setErrorMessage

public void setErrorMessage(java.lang.String errorMsg)
Set the error message

Specified by:
setErrorMessage in interface ErrorDisplay
Overrides:
setErrorMessage in class Edit
Parameters:
errorMsg - the message text