Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing.table
Class DefaultTableCellRenderer

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JLabel
                      javax.swing.table.DefaultTableCellRenderer

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants, TableCellRenderer

Direct Known Subclasses:
  DefaultTableCellRenderer.UIResource

    public class DefaultTableCellRenderer

extends JLabel
implements TableCellRenderer, Serializable

The standard class for rendering (displaying) individual cells in a `JTable`.

Implementation Note: This class inherits from `JLabel`, a standard component class. However `JTable` employs a unique mechanism for rendering its cells and therefore requires some slightly modified behavior from its cell renderer. The table class defines a single cell renderer and uses it as a as a rubber-stamp for rendering all cells in the table; it renders the first cell, changes the contents of that cell renderer, shifts the origin to the new location, re-draws it, and so on. The standard `JLabel` component was not designed to be used this way and we want to avoid triggering a `revalidate` each time the cell is drawn. This would greatly decrease performance because the `revalidate` message would be passed up the hierarchy of the container to determine whether any other components would be affected. As the renderer is only parented for the lifetime of a painting operation we similarly want to avoid the overhead associated with walking the hierarchy for painting operations. So this class overrides the `validate`, `invalidate`, `revalidate`, `repaint`, and `firePropertyChange` methods to be no-ops and override the `isOpaque` method solely to improve performance. If you write your own renderer, please keep this performance consideration in mind.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the `java.beans` package. Please see `XMLEncoder`.

See Also:
  `JTable`

Nested Class Summary
`static class` | `DefaultTableCellRenderer.UIResource` A subclass of `DefaultTableCellRenderer` that implements `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.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary
`protected static Border` | `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
`DefaultTableCellRenderer()` Creates a default table cell renderer.

Method Summary
`void` | `firePropertyChange(String propertyName, boolean oldValue, boolean newValue)` Overridden for performance reasons.
`protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue)` Overridden for performance reasons.
`Component` | `getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)` Returns the default table cell renderer.
`void` | `invalidate()` Overridden for performance reasons.
`boolean` | `isOpaque()` Overridden for performance reasons.
`void` | `repaint()` Overridden for performance reasons.
`void` | `repaint(long tm, int x, int y, int width, int height)` Overridden for performance reasons.
`void` | `repaint(Rectangle r)` Overridden for performance reasons.
`void` | `revalidate()` Overridden for performance reasons.
`void` | `setBackground(Color c)` Overrides `JComponent.setBackground` to assign the unselected-background color to the specified color.
`void` | `setForeground(Color c)` Overrides `JComponent.setForeground` to assign the unselected-foreground color to the specified color.
`protected void` | `setValue(Object value)` Sets the `String` object for the cell being rendered to `value`.
`void` | `updateUI()` Notification from the `UIManager` that the look and feel [L&F] has changed.
`void` | `validate()` Overridden for performance reasons.

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, 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, 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`

Field Detail

### noFocusBorder

    protected static Border noFocusBorder

Constructor Detail

### DefaultTableCellRenderer

    public DefaultTableCellRenderer()

  Creates a default table cell renderer.

Method Detail

### setForeground

    public void setForeground(Color c)

  Overrides `JComponent.setForeground` to assign the unselected-foreground color to the specified color.

  Overrides:
    `setForeground` in class `JComponent`
  Parameters:
    `c` - set the foreground color to this value
  See Also:
    `Component.getForeground()`

### setBackground

    public void setBackground(Color c)

  Overrides `JComponent.setBackground` to assign the unselected-background color to the specified color.

  Overrides:
    `setBackground` in class `JComponent`
  Parameters:
    `c` - set the background color to this value
  See Also:
    `Component.getBackground()`

### updateUI

    public void updateUI()

  Notification from the `UIManager` that the look and feel [L&F] has changed. Replaces the current UI object with the latest version from the `UIManager`.

  Overrides:
    `updateUI` in class `JLabel`
  See Also:
    `JComponent.updateUI()`

### getTableCellRendererComponent

    public Component getTableCellRendererComponent(JTable table,
                                                   Object value,
                                                   boolean isSelected,
                                                   boolean hasFocus,
                                                   int row,
                                                   int column)

  Returns the default table cell renderer.

  Specified by:
    `getTableCellRendererComponent` in interface `TableCellRenderer`
  Parameters:
    `table` - the `JTable`
    `value` - the value to assign to the cell at `[row, column]`
    `isSelected` - true if cell is selected
    `hasFocus` - true if cell has focus
    `row` - the row of the cell to render
    `column` - the column of the cell to render
  Returns:
    the default table cell renderer

### isOpaque

    public boolean isOpaque()

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `isOpaque` in class `JComponent`
  Returns:
    true if this component is completely opaque
  See Also:
    `JComponent.setOpaque(boolean)`

### invalidate

    public void invalidate()

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `invalidate` in class `Container`
  Since:
    1.5
  See Also:
    `Container.validate()`, `Container.layout()`, `LayoutManager`

### validate

    public void validate()

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `validate` in class `Container`
  See Also:
    `Container.add(java.awt.Component)`, `Component.invalidate()`, `JComponent.revalidate()`

### revalidate

    public void revalidate()

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `revalidate` in class `JComponent`
  See Also:
    `Component.invalidate()`, `Container.validate()`, `JComponent.isValidateRoot()`, `RepaintManager.addInvalidComponent(javax.swing.JComponent)`

### repaint

    public void repaint(long tm,
                        int x,
                        int y,
                        int width,
                        int height)

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `repaint` in class `JComponent`
  Parameters:
    `tm` - this parameter is not used
    `x` - the x value of the dirty region
    `y` - the y value of the dirty region
    `width` - the width of the dirty region
    `height` - the height of the dirty region
  See Also:
    `Component.isShowing()`, `RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)`

### repaint

    public void repaint(Rectangle r)

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `repaint` in class `JComponent`
  Parameters:
    `r` - a `Rectangle` containing the dirty region
  See Also:
    `Component.isShowing()`, `RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)`

### repaint

    public void repaint()

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `repaint` in class `Component`
  Since:
    1.5
  See Also:
    `Component.update(Graphics)`

### firePropertyChange

    protected void firePropertyChange(String propertyName,
                                      Object oldValue,
                                      Object newValue)

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `firePropertyChange` in class `Component`
  Parameters:
    `propertyName` - the property whose value has changed
    `oldValue` - the property's previous value
    `newValue` - the property's new value

### firePropertyChange

    public void firePropertyChange(String propertyName,
                                   boolean oldValue,
                                   boolean newValue)

  Overridden for performance reasons. See the Implementation Note for more information.

  Overrides:
    `firePropertyChange` in class `JComponent`
  Parameters:
    `propertyName` - the property whose value has changed
    `oldValue` - the property's previous value
    `newValue` - the property's new value

### setValue

    protected void setValue(Object value)

  Sets the `String` object for the cell being rendered to `value`.

  Parameters:
    `value` - the string value for this cell; if value is `null` it sets the text value to an empty string
  See Also:
    `JLabel.setText(java.lang.String)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.