This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]