Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
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:
  Accessible, ImageObserver, MenuContainer, Serializable, 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. So this class overrides the `validate`, `revalidate`, `repaint`, and `firePropertyChange` methods to be no-ops. 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 inherited from class javax.swing.JLabel
`JLabel.AccessibleJLabel`

Nested classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Nested classes 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.
`boolean` | `isOpaque()` 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, 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

### 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
    `row` - the row of the cell to render
    `column` - the column of the cell to render
    `hasFocus` - if true, render cell appropriately. For example, put a special border on the cell, if the cell can be edited, render in the color used to indicate editing
  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)`

### 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()`, `#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)`

### 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 `JComponent`
  Parameters:
    `propertyName` - the programmatic name of the property that was changed
    `oldValue` - the old value of the property (as an Object)
    `newValue` - the new value of the property (as an Object)
  See Also:
    `PropertyChangeSupport`

### 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 programmatic name of the property that was changed
    `oldValue` - the old value of the property (as a boolean)
  See Also:
    `JComponent.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)`

### 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 Std. Ed. v1.4.1
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 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.