Holger's Java API

## com.antelmann.util.table
Class FormattedCellRenderer

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JLabel
                      javax.swing.table.DefaultTableCellRenderer
                          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