Index: javax/swing/table/DefaultTableCellRenderer.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/table/DefaultTableCellRenderer.java,v retrieving revision 1.4 diff -u -b -B -r1.4 DefaultTableCellRenderer.java --- javax/swing/table/DefaultTableCellRenderer.java 8 Jun 2003 12:14:56 -0000 1.4 +++ javax/swing/table/DefaultTableCellRenderer.java 12 Jan 2004 20:16:49 -0000 @@ -1,5 +1,5 @@ /* DefaultTableCellRenderer.java - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -35,40 +35,177 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ - package javax.swing.table; +import java.awt.Color; import java.awt.Component; +import java.awt.Rectangle; import java.io.Serializable; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.border.Border; +import javax.swing.border.EmptyBorder; +import javax.swing.plaf.UIResource; /** - * STUBBED + * Class to display every cells. */ public class DefaultTableCellRenderer extends JLabel implements TableCellRenderer, Serializable { static final long serialVersionUID = 7878911414715528324L; + protected static Border noFocusBorder; + public static class UIResource extends DefaultTableCellRenderer - implements javax.swing.plaf.UIResource + implements UIResource { public UIResource() { } - } // class UIResource + } + /** + * Creates a default table cell renderer with an empty border. + */ public DefaultTableCellRenderer() { + super(); + this.noFocusBorder = new EmptyBorder(0, 0, 0, 0); + } + + /** + * Assign the unselected-foreground. + * + * @param c the color to assign + */ + public void setForeground(Color c) + { + super.setForeground(c); + } + + /** + * Assign the unselected-background. + * + * @param c the color to assign + */ + public void setBackground(Color c) + { + super.setBackground(c); } + /** + * Look and feel has changed. + * + *

Replaces the current UI object with the latest version from + * the UIManager.

+ */ + pulic void updateUI() + { + super.updateUI(); + } + + /** + * Get the string value of the object and pass it to setText(). + * + * @param table the JTable + * @param value the value of the object + * @param isSelected is the cell selected? + * @param hasFocus has the cell the focus? + * @param row the row to render + * @param column the cell to render + * + * @return this component (the default table cell renderer) + */ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - return null; + if (value!=null) + super.setText(value.toString()); + + return this; + } + + /** + * Overriden for performance. + * + *

This method needs to be overridden in a subclass to actually + * do something.

+ * + * @return always true + */ + public boolean isOpaque() + { + return true; + } + + /** + * Overriden for performance. + * + *

This method needs to be overridden in a subclass to actually + * do something.

+ */ + public void validate() + { + // Does nothing. + } + + /** + * Overriden for performance. + * + *

This method needs to be overridden in a subclass to actually + * do something.

+ */ + public void repaint(long tm, int x, int y, int width, int height) + { + // Does nothing. + } + + /** + * Overriden for performance. + * + *

This method needs to be overridden in a subclass to actually + * do something.

+ */ + public void repaint(Rectangle r) + { + // Does nothing. + } + + /** + * Overriden for performance. + * + *

This method needs to be overridden in a subclass to actually + * do something.

+ */ + public void firePropertyChange(String propertyName, Object oldValue, + Object newValue) + { + // Does nothing. + } + + /** + * Overriden for performance. + * + *

This method needs to be overridden in a subclass to actually + * do something.

+ */ + public void firePropertyChange(String propertyName, boolean oldValue, + boolean newValue) + { + // Does nothing. + } + + /** + * Sets the String for this cell. + * + * @param value the string value for this cell; if value is null it + * sets the text value to an empty string + */ + protected void setValue(Object value) + { + super.setText((value!=null) ? value.toString() : ""); } -} // class DefaultTableCellRenderer +}