diff options
Diffstat (limited to 'libjava/java/awt/Window.java')
-rw-r--r-- | libjava/java/awt/Window.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/libjava/java/awt/Window.java b/libjava/java/awt/Window.java index 7064511b2b6..b8befaf0507 100644 --- a/libjava/java/awt/Window.java +++ b/libjava/java/awt/Window.java @@ -158,14 +158,13 @@ public class Window extends Container */ public void pack() { - if (parent != null - && !parent.isDisplayable()) + if (parent != null && !parent.isDisplayable()) parent.addNotify(); if (peer == null) addNotify(); setSize(getPreferredSize()); - + validate(); } @@ -174,9 +173,12 @@ public class Window extends Container */ public void show() { + if (parent != null && !parent.isDisplayable()) + parent.addNotify(); if (peer == null) addNotify(); + validate(); super.show(); toFront(); } @@ -187,6 +189,13 @@ public class Window extends Container super.hide(); } + public boolean isDisplayable() + { + if (super.isDisplayable()) + return true; + return peer != null; + } + /** * Called to free any resource associated with this window. */ @@ -479,5 +488,4 @@ public class Window extends Container if (peer != null) return peer.getGraphicsConfiguration(); return null; } - } |