summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java
diff options
context:
space:
mode:
authordjee <djee@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-13 17:55:20 +0000
committerdjee <djee@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-13 17:55:20 +0000
commit96ee392a6f4e91718ac028b33cd36d132939a396 (patch)
tree35d50c36c6d1bfed5a6e16b1db5bafcfc0cf1ed6 /libjava/gnu/java
parent00c9c7932bb1506e9c07a8f69357fef2b54d1bed (diff)
downloadppe42-gcc-96ee392a6f4e91718ac028b33cd36d132939a396.tar.gz
ppe42-gcc-96ee392a6f4e91718ac028b33cd36d132939a396.zip
2004-01-13�� David Jee�� <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkContainerPeer.java (setBackground): New method. Children with no explicitly-set background will be repainted with the parent container's new background color. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75809 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java')
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.java b/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.java
index e51b7f09856..e8881728434 100644
--- a/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.java
+++ b/libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.java
@@ -39,6 +39,8 @@ exception statement from your version. */
package gnu.java.awt.peer.gtk;
import java.awt.AWTEvent;
+import java.awt.Color;
+import java.awt.Component;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Insets;
@@ -136,4 +138,23 @@ public class GtkContainerPeer extends GtkComponentPeer
public void beginLayout () { }
public void endLayout () { }
public boolean isPaintPending () { return false; }
+
+ public void setBackground (Color c)
+ {
+ super.setBackground(c);
+
+ Object components[] = ((Container) awtComponent).getComponents();
+ for (int i = 0; i < components.length; i++)
+ {
+ Component comp = (Component) components[i];
+
+ // If the child's background has not been explicitly set yet,
+ // it should inherit this container's background. This makes the
+ // child component appear as if it has a transparent background.
+ // Note that we do not alter the background property of the child,
+ // but only repaint the child with the parent's background color.
+ if (!comp.isBackgroundSet() && comp.getPeer() != null)
+ comp.getPeer().setBackground(c);
+ }
+ }
}
OpenPOWER on IntegriCloud