From 0dce1c0fcb90265b98cb72aa086b40b0edd75d08 Mon Sep 17 00:00:00 2001 From: Arnaud Vandyck Date: Thu, 22 Jan 2004 22:41:53 +0100 Subject: [PATCH 1/1] 2004-01-22 Arnaud Vandyck Michael Koch * 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 From-SVN: r76372 --- libjava/ChangeLog | 17 ++ .../swing/table/DefaultTableCellRenderer.java | 148 +++++++++++++++++- 2 files changed, 159 insertions(+), 6 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 8f3083a385af..4eb9edbf2acb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,20 @@ +2004-01-22 Arnaud Vandyck + Michael Koch + + * 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 * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c diff --git a/libjava/javax/swing/table/DefaultTableCellRenderer.java b/libjava/javax/swing/table/DefaultTableCellRenderer.java index fdecedd8acfe..6bd0ff57f591 100644 --- a/libjava/javax/swing/table/DefaultTableCellRenderer.java +++ b/libjava/javax/swing/table/DefaultTableCellRenderer.java @@ -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. + * + *

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

+ */ + 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. + * + *

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