2004-01-22 Arnaud Vandyck <arnaud.vandyck@ulg.ac.be>
authorArnaud Vandyck <arnaud.vandyck@ulg.ac.be>
Thu, 22 Jan 2004 21:41:53 +0000 (22:41 +0100)
committerMichael Koch <mkoch@gcc.gnu.org>
Thu, 22 Jan 2004 21:41:53 +0000 (21:41 +0000)
            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.

Co-Authored-By: Michael Koch <konqueror@gmx.de>
From-SVN: r76372

libjava/ChangeLog
libjava/javax/swing/table/DefaultTableCellRenderer.java

index 8f3083a385afd912c696a4159ef5a22bad58f244..4eb9edbf2acbdf5c86aa480ea8d24ac93fabda98 100644 (file)
@@ -1,3 +1,20 @@
+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.
+
 2004-01-22  Thomas Fitzsimmons  <fitzsim@redhat.com>
 
        * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
index fdecedd8acfe86f1b393cc043da773534f8472b3..6bd0ff57f591a4278387caf8918de06801639354 100644 (file)
@@ -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 @@ this exception to your version of the library, but you are not
 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
+}