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. From-SVN: r75809
This commit is contained in:
parent
3c3a78a502
commit
e6cca48823
2 changed files with 36 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue