diff options
| author | djee <djee@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-13 17:55:20 +0000 |
|---|---|---|
| committer | djee <djee@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-13 17:55:20 +0000 |
| commit | 96ee392a6f4e91718ac028b33cd36d132939a396 (patch) | |
| tree | 35d50c36c6d1bfed5a6e16b1db5bafcfc0cf1ed6 /libjava/gnu/java | |
| parent | 00c9c7932bb1506e9c07a8f69357fef2b54d1bed (diff) | |
| download | ppe42-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.java | 21 |
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); + } + } } |

