diff options
Diffstat (limited to 'libjava/classpath/java/awt/Window.java')
-rw-r--r-- | libjava/classpath/java/awt/Window.java | 69 |
1 files changed, 64 insertions, 5 deletions
diff --git a/libjava/classpath/java/awt/Window.java b/libjava/classpath/java/awt/Window.java index 71a8d38..d9e90c0 100644 --- a/libjava/classpath/java/awt/Window.java +++ b/libjava/classpath/java/awt/Window.java @@ -1,5 +1,5 @@ /* Window.java -- - Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation + Copyright (C) 1999, 2000, 2002, 2003, 2004, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -38,6 +38,8 @@ exception statement from your version. */ package java.awt; +import gnu.classpath.NotImplementedException; + import java.awt.event.ComponentEvent; import java.awt.event.FocusEvent; import java.awt.event.WindowAdapter; @@ -620,10 +622,25 @@ public class Window extends Container implements Accessible || windowStateListener != null || (eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0)) processEvent(e); - else if (e.id == ComponentEvent.COMPONENT_RESIZED) - validate (); - else - super.dispatchEventImpl(e); + else + { + if (peer != null && (e.id == ComponentEvent.COMPONENT_RESIZED + || e.id == ComponentEvent.COMPONENT_MOVED)) + { + Rectangle bounds = peer.getBounds(); + x = bounds.x; + y = bounds.y; + height = bounds.height; + width = bounds.width; + + if (e.id == ComponentEvent.COMPONENT_RESIZED) + { + invalidate(); + validate(); + } + } + super.dispatchEventImpl(e); + } } /** @@ -1032,6 +1049,7 @@ public class Window extends Container implements Accessible * @deprecated */ public void applyResourceBundle(ResourceBundle rb) + throws NotImplementedException { throw new Error ("Not implemented"); } @@ -1143,6 +1161,47 @@ public class Window extends Container implements Accessible { this.focusableWindowState = focusableWindowState; } + + /** + * Check whether this Container is a focus cycle root. + * Returns always <code>true</code> as Windows are the + * root of the focus cycle. + * + * @return Always <code>true</code>. + * + * @since 1.4 + */ + public final boolean isFocusCycleRoot() + { + return true; + } + + /** + * Set whether or not this Container is the root of a focus + * traversal cycle. Windows are the root of the focus cycle + * and therefore this method does nothing. + * + * @param focusCycleRoot ignored. + * + * @since 1.4 + */ + public final void setFocusCycleRoot(boolean focusCycleRoot) + { + // calls to the method are ignored + } + + /** + * Returns the root container that owns the focus cycle where this + * component resides. Windows have no ancestors and this method + * returns always <code>null</code>. + * + * @return Always <code>null</code>. + * @since 1.4 + */ + public final Container getFocusCycleRootAncestor() + { + return null; + } /** * Generate a unique name for this window. |