is new.
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
javax.swing.table.DefaultTableCellRenderer
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.
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 JavaBeans TM has been added to the java.beans package. Please see XMLEncoder .
| 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. |
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 java.lang. Object |
|---|
| clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
| Field Detail |
|---|
protected static Border noFocusBorder
| Constructor Detail |
|---|
public DefaultTableCellRenderer()
| Method Detail |
|---|
public void setForeground(Color c)
public void setBackground(Color c)
public void updateUI()
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column)
public boolean isOpaque()
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
public void validate()
public void revalidate()
public void repaint(long tm,
int x,
int y,
int width,
int height)
public void repaint(Rectangle r)
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)
protected void firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
firePropertyChange
Component
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value
public void firePropertyChange(String propertyName,
boolean oldValue,
boolean newValue)
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value
protected void setValue(Object value)