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. A future release of Swing will provide support for
long term persistence.
- See Also:
JTable
, Serialized Form
Fields inherited from interface javax.swing.SwingConstants |
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
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 |
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.setForeground 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 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, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validateTree |
Methods inherited from class java.awt.Component |
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus |
noFocusBorder
protected static Border noFocusBorder
DefaultTableCellRenderer
public DefaultTableCellRenderer()
- Creates a default table cell renderer.
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
setBackground
public void setBackground(Color c)
- Overrides
JComponent.setForeground
to assign
the unselected-background color to the specified color.
- Overrides:
setBackground
in class JComponent
- Parameters:
c
- set the background color to this value
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 selectedisFocus
- true if cell has focusrow
- the row of the cell to rendercolumn
- the column of the cell to render- Returns:
- the default table cell renderer
validate
public void validate()
- Overridden for performance reasons.
See the Implementation Note
for more information.
- Overrides:
validate
in class Container
- Following copied from class:
java.awt.Container
- See Also:
Container.validate()
,
Component.invalidate()
revalidate
public void revalidate()
- Overridden for performance reasons.
See the Implementation Note
for more information.
- Overrides:
revalidate
in class JComponent
- Following copied from class:
javax.swing.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
- Following copied from class:
javax.swing.JComponent
- 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
- Following copied from class:
javax.swing.JComponent
- 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
- Following copied from class:
javax.swing.JComponent
- Parameters:
propertyName
- the programmatic name of the property that was changedoldValue
- the old value of the propertynewValue
- the new value of the property- 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
- Following copied from class:
javax.swing.JComponent
- See Also:
JComponent.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
setValue
protected void setValue(Object value)
- Sets the string 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)
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. Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.