Holger's
Java API

com.antelmann.util.table
Class FormattedCellRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by javax.swing.table.DefaultTableCellRenderer
                      extended by com.antelmann.util.table.FormattedCellRenderer
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ListCellRenderer, SwingConstants, TableCellRenderer
Direct Known Subclasses:
CurrencyCellRenderer, MoneyRenderer

public class FormattedCellRenderer
extends DefaultTableCellRenderer
implements ListCellRenderer

a renderer for customizing the formatting of values based on a Format. A specialty of this implementation is that it can format a cell containing a number as a date if a DateFormat is used.

Author:
Holger Antelmann
See Also:
Serialized Form

Nested Class Summary
static class FormattedCellRenderer.ToStringFormat
          simply converts to strings; used internally by the enclosing class if no other format was given
 
Nested classes/interfaces inherited from class javax.swing.table.DefaultTableCellRenderer
DefaultTableCellRenderer.UIResource
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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.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
FormattedCellRenderer()
          uses the ToStringFormat with tool-tip enabled
FormattedCellRenderer(boolean useToolTipText)
           
FormattedCellRenderer(boolean useToolTipText, int horizontalAlignment)
           
FormattedCellRenderer(Class<T> enumType)
          useful for rendering an ordinal number or an enum constant string as the toString() method of the given enum
FormattedCellRenderer(Class<T> enumType, boolean resortToStringOnFailure)
          allows to additionally specify that if a given object is not an Enum, it will still be rendered (as a String) instead of throwing an Exception.
FormattedCellRenderer(Format format)
           
FormattedCellRenderer(Format format, boolean useToolTipText)
           
FormattedCellRenderer(Format format, boolean useToolTipText, int horizontalAlignment)
           
FormattedCellRenderer(Format formatter, Format toolTipFormatter)
           
FormattedCellRenderer(Format formatter, Format toolTipFormatter, int horizontalAlignment)
           
FormattedCellRenderer(int horizontalAlignment)
           
 
Method Summary
 String format(Object value)
          called by setValue(Object) to format the value to a String.
 Icon formatIcon(Object value)
          called by setValue(Object) to format the value to a String.
 String formatToolTip(Object value)
          called by setValue(Object) to format the value to a String for the tool tip.
 Format getFormatter()
           
 PatternExtractor<Object,Icon> getIconFormat()
           
 Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
          essentially copied from DefaultListCellRenderer.getListCellRendererComponent(JList, Object, int, boolean, boolean)
 String getNullValue()
           
 Format getToolTipFormat()
           
 void setFormatter(Format formatter)
           
 void setIconFormat(PatternExtractor<Object,Icon> iconFormat)
           
 FormattedCellRenderer setNullValue(String nullValue)
          allows to customize the String returned by format(Object) if the value is null (by default, this is an empty String)
 void setToolTipFormatter(Format toolTipFormatter)
           
protected  void setValue(Object value)
          relies on format(Object) to convert the value to a String
static Format toFormat(Converter<Object,String> conv)
           
static Format toFormat(PatternExtractor<Object,?> pe)
           
 void useImageableIconFormat()
           
 boolean usesToolTip()
           
static Format wrapForFormatException(Format format)
          allows to wrap the given format so that the returned format will resort to providing a toString()-value of a given object if the given format fails
 
Methods inherited from class javax.swing.table.DefaultTableCellRenderer
firePropertyChange, firePropertyChange, getTableCellRendererComponent, invalidate, isOpaque, repaint, 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, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, 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, 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, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 

Constructor Detail

FormattedCellRenderer

public FormattedCellRenderer()
uses the ToStringFormat with tool-tip enabled

See Also:
FormattedCellRenderer.ToStringFormat, FormattedCellRenderer(Format, boolean)

FormattedCellRenderer

public FormattedCellRenderer(Class<T> enumType)
useful for rendering an ordinal number or an enum constant string as the toString() method of the given enum


FormattedCellRenderer

public FormattedCellRenderer(Class<T> enumType,
                             boolean resortToStringOnFailure)
allows to additionally specify that if a given object is not an Enum, it will still be rendered (as a String) instead of throwing an Exception.


FormattedCellRenderer

public FormattedCellRenderer(Format format)

FormattedCellRenderer

public FormattedCellRenderer(boolean useToolTipText)

FormattedCellRenderer

public FormattedCellRenderer(boolean useToolTipText,
                             int horizontalAlignment)

FormattedCellRenderer

public FormattedCellRenderer(int horizontalAlignment)

FormattedCellRenderer

public FormattedCellRenderer(Format format,
                             boolean useToolTipText)

FormattedCellRenderer

public FormattedCellRenderer(Format format,
                             boolean useToolTipText,
                             int horizontalAlignment)

FormattedCellRenderer

public FormattedCellRenderer(Format formatter,
                             Format toolTipFormatter)

FormattedCellRenderer

public FormattedCellRenderer(Format formatter,
                             Format toolTipFormatter,
                             int horizontalAlignment)
Parameters:
horizontalAlignment - possible values: SwingConstants.RIGHT, SwingConstants.LEFT, etc.
Method Detail

usesToolTip

public boolean usesToolTip()

getToolTipFormat

public Format getToolTipFormat()

setToolTipFormatter

public void setToolTipFormatter(Format toolTipFormatter)

getFormatter

public Format getFormatter()

setFormatter

public void setFormatter(Format formatter)

getIconFormat

public PatternExtractor<Object,Icon> getIconFormat()

setIconFormat

public void setIconFormat(PatternExtractor<Object,Icon> iconFormat)

useImageableIconFormat

public void useImageableIconFormat()
See Also:
Imageable.getDisplayIcon()

getNullValue

public String getNullValue()

setNullValue

public FormattedCellRenderer setNullValue(String nullValue)
allows to customize the String returned by format(Object) if the value is null (by default, this is an empty String)


format

public String format(Object value)
called by setValue(Object) to format the value to a String. If no format was given, the String.valueOf(Object) method is used. Special support is provided to format a number as a date if a DateFormat is used.


formatToolTip

public String formatToolTip(Object value)
called by setValue(Object) to format the value to a String for the tool tip. If no tool tip format was given, null is returned. Special support is provided to format a number as a date if a DateFormat is used.


formatIcon

public Icon formatIcon(Object value)
called by setValue(Object) to format the value to a String. If no format was given, the String.valueOf(Object) method is used.


setValue

protected void setValue(Object value)
relies on format(Object) to convert the value to a String

Overrides:
setValue in class DefaultTableCellRenderer

wrapForFormatException

public static Format wrapForFormatException(Format format)
allows to wrap the given format so that the returned format will resort to providing a toString()-value of a given object if the given format fails


toFormat

public static Format toFormat(PatternExtractor<Object,?> pe)

toFormat

public static Format toFormat(Converter<Object,String> conv)

getListCellRendererComponent

public Component getListCellRendererComponent(JList list,
                                              Object value,
                                              int index,
                                              boolean isSelected,
                                              boolean cellHasFocus)
essentially copied from DefaultListCellRenderer.getListCellRendererComponent(JList, Object, int, boolean, boolean)

Specified by:
getListCellRendererComponent in interface ListCellRenderer


(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads