This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
FYI: Patch: javax.swing.table.DefaultTableCellRenderer
- From: Michael Koch <konqueror at gmx dot de>
- To: java-patches at gcc dot gnu dot org
- Date: Thu, 22 Jan 2004 22:46:41 +0100
- Subject: FYI: Patch: javax.swing.table.DefaultTableCellRenderer
Hi list,
I just commited the attached patch to merge
javax.swing.table.DefaultTableCellRenderer with classpath.
Michael
2004-01-22 Arnaud Vandyck <arnaud.vandyck@ulg.ac.be>
Michael Koch <konqueror@gmx.de>
* javax/swing/table/DefaultTableCellRenderer.java
(DefaultTableCellRenderer): Added javadoc for the class and for
the constructor, Border instance, create an EmptyBorder.
(UIResource): Removed the comment at the end of the class
(setForeground): New method.
(setBackground): New method.
(updateUI): New method.
(getTableCellRendererComponent): Rewritten with the help of
dvholten and Stephane Meslin-Weber.
(validate): New method.
(repaint): New method.
(firePropertyChange): New method.
(setValue): New method.
Index: javax/swing/table/DefaultTableCellRenderer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/table/DefaultTableCellRenderer.java,v
retrieving revision 1.3
diff -u -b -B -r1.3 DefaultTableCellRenderer.java
--- javax/swing/table/DefaultTableCellRenderer.java 11 Jun 2003 13:20:41 -0000 1.3
+++ javax/swing/table/DefaultTableCellRenderer.java 22 Jan 2004 21:41:30 -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,176 @@
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;
/**
- * 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
{
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.
+ *
+ * <p>Replaces the current UI object with the latest version from
+ * the UIManager.</p>
+ */
+ public 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.
+ *
+ * <p>This method needs to be overridden in a subclass to actually
+ * do something.</p>
+ *
+ * @return always true
+ */
+ public boolean isOpaque()
+ {
+ return true;
+ }
+
+ /**
+ * Overriden for performance.
+ *
+ * <p>This method needs to be overridden in a subclass to actually
+ * do something.</p>
+ */
+ public void validate()
+ {
+ // Does nothing.
+ }
+
+ /**
+ * Overriden for performance.
+ *
+ * <p>This method needs to be overridden in a subclass to actually
+ * do something.</p>
+ */
+ public void repaint(long tm, int x, int y, int width, int height)
+ {
+ // Does nothing.
+ }
+
+ /**
+ * Overriden for performance.
+ *
+ * <p>This method needs to be overridden in a subclass to actually
+ * do something.</p>
+ */
+ public void repaint(Rectangle r)
+ {
+ // Does nothing.
+ }
+
+ /**
+ * Overriden for performance.
+ *
+ * <p>This method needs to be overridden in a subclass to actually
+ * do something.</p>
+ */
+ public void firePropertyChange(String propertyName, Object oldValue,
+ Object newValue)
+ {
+ // Does nothing.
+ }
+
+ /**
+ * Overriden for performance.
+ *
+ * <p>This method needs to be overridden in a subclass to actually
+ * do something.</p>
+ */
+ 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
+}