kiwi.ui
Class NumericTableCellRenderer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JLabel
                  extended byjavax.swing.table.DefaultTableCellRenderer
                      extended bykiwi.ui.NumericTableCellRenderer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants, javax.swing.table.TableCellRenderer

public class NumericTableCellRenderer
extends javax.swing.table.DefaultTableCellRenderer

A table cell renderer for displaying numeric fields, including integer, decimal, percentage, and currency amounts, formatted according to the rules of the current locale.

Author:
Mark Lindner, PING Software Group
See Also:
kiwi.text.FormatConstants, LocaleManager, NumericField, NumericCellEditor, kiwi.db.DomainObjectFieldAdapter, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.table.DefaultTableCellRenderer
javax.swing.table.DefaultTableCellRenderer.UIResource
 
Nested classes inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  int decimals
           
private  boolean grouping
           
private  LocaleManager lm
           
private  int type
           
static java.lang.String VALUE_UNKNOWN
          A string representation of the "unknown value"; a value that is either of the wrong type or for which there is no available format.
 
Fields inherited from class javax.swing.table.DefaultTableCellRenderer
noFocusBorder
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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.Container
 
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
NumericTableCellRenderer(int type)
          Construct a new NumericTableCellRenderer of the specified type.
NumericTableCellRenderer(int type, int decimals, boolean grouping)
          Construct a new NumericTableCellRenderer of the specified type, number of decimal places displayed, and grouping flag.
 
Method Summary
 int getDecimals()
          Get the number of decimal places being displayed by this cell renderer.
 int getType()
          Get the formatting type.
 boolean isGrouping()
          Determine whether this cell renderer is performing grouping.
 void setDecimals(int decimals)
          Set the number of decimal places to display for non-integer values.
 void setGrouping(boolean grouping)
          Enable or disable grouping for this cell renderer.
 void setType(int type)
          Set the formatting type.
protected  void setValue(java.lang.Object value)
          Set the value to be displayed by this cell renderer.
 
Methods inherited from class javax.swing.table.DefaultTableCellRenderer
firePropertyChange, firePropertyChange, getTableCellRendererComponent, isOpaque, repaint, repaint, revalidate, setBackground, setForeground, updateUI, validate
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, 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
 

Field Detail

VALUE_UNKNOWN

public static final java.lang.String VALUE_UNKNOWN
A string representation of the "unknown value"; a value that is either of the wrong type or for which there is no available format.

See Also:
Constant Field Values

lm

private LocaleManager lm

grouping

private boolean grouping

decimals

private int decimals

type

private int type
Constructor Detail

NumericTableCellRenderer

public NumericTableCellRenderer(int type)
Construct a new NumericTableCellRenderer of the specified type.

Parameters:
type - The data type to be rendered by this field; one of the constants CURRENCY_FORMAT, DECIMAL_FORMAT, INTEGER_FORMAT or PERCENTAGE_FORMAT, defined in kiwi.text.FormatConstants.

NumericTableCellRenderer

public NumericTableCellRenderer(int type,
                                int decimals,
                                boolean grouping)
Construct a new NumericTableCellRenderer of the specified type, number of decimal places displayed, and grouping flag.

Parameters:
type - The data type to be rendered by this field; one of the constants CURRENCY_FORMAT, DECIMAL_FORMAT, INTEGER_FORMATPERCENTAGE_FORMAT, defined in kiwi.text.FormatConstants.
decimals - The number of decimal places to be displayed (for non-integer values only).
grouping - A flag specifying whether grouping should be turned on.
Method Detail

setType

public void setType(int type)
Set the formatting type.

Parameters:
type - The data type to be rendered by this cell renderer. See the constructor for more information.

getType

public int getType()
Get the formatting type.

Returns:
The data type being rendered by this cell renderer.

setDecimals

public void setDecimals(int decimals)
                 throws java.lang.IllegalArgumentException
Set the number of decimal places to display for non-integer values.

Parameters:
decimals - The number of decimal places.
Throws:
java.lang.IllegalArgumentException - If decimals is less than 0.

getDecimals

public int getDecimals()
Get the number of decimal places being displayed by this cell renderer.

Returns:
The number of decimal places.

setGrouping

public void setGrouping(boolean grouping)
Enable or disable grouping for this cell renderer.

Parameters:
grouping - A flag that specifies whether grouping should be turned on or off.

isGrouping

public boolean isGrouping()
Determine whether this cell renderer is performing grouping.

Returns:
true if grouping is turned on and false otherwise.

setValue

protected void setValue(java.lang.Object value)
Set the value to be displayed by this cell renderer. It is assumed that the object passed in is a Double or Long instance; if any other type of object is passed in, the VALUE_UNKNOWN string will be rendered in the cell.

Parameters:
value - The value to render (must be a Double or Long).