diff options
Diffstat (limited to 'libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java')
-rw-r--r-- | libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java b/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java index c78b644a765..2d5d97ff14b 100644 --- a/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java @@ -1,5 +1,5 @@ /* SwingContainerPeer.java -- A Swing based peer for AWT containers - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -92,7 +92,7 @@ public class SwingContainerPeer * @see #peerPaintChildren(Graphics) * @see #removeHeavyweightDescendent(Component) */ - synchronized void addHeavyweightDescendent(Component comp) + protected synchronized void addHeavyweightDescendent(Component comp) { heavyweightDescendents.add(comp); focusOwner = null; @@ -106,13 +106,25 @@ public class SwingContainerPeer * @see #peerPaintChildren(Graphics) * @see #addHeavyweightDescendent(Component) */ - synchronized void removeHeavyweightDescendent(Component comp) + protected synchronized void removeHeavyweightDescendent(Component comp) { heavyweightDescendents.remove(comp); focusOwner = null; } /** + * Returns an array of all registered heavyweight descendents. + * + * @return all registered heavyweight descendents + */ + protected Component[] getHeavyweightDescendents() + { + Component[] heavyweights = new Component[heavyweightDescendents.size()]; + heavyweights = (Component[]) heavyweightDescendents.toArray(heavyweights); + return heavyweights; + } + + /** * Returns the insets of the container. * * This is implemented to return the insets of the Swing container. @@ -339,7 +351,7 @@ public class SwingContainerPeer { Component owner = getFocusOwner(); if(owner != null) - owner.dispatchEvent(e); + owner.getPeer().handleEvent(e); else super.handleKeyEvent(e); } |