aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/Window.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt/Window.java')
-rw-r--r--libjava/java/awt/Window.java130
1 files changed, 123 insertions, 7 deletions
diff --git a/libjava/java/awt/Window.java b/libjava/java/awt/Window.java
index 4112861..463b67b 100644
--- a/libjava/java/awt/Window.java
+++ b/libjava/java/awt/Window.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation
+/* Copyright (C) 1999, 2000 Free Software Foundation
This file is part of libjava.
@@ -7,23 +7,139 @@ Libjava License. Please consult the file "LIBJAVA_LICENSE" for
details. */
package java.awt;
+import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
+import java.awt.peer.WindowPeer;
+import java.awt.peer.ComponentPeer;
+import java.util.Locale;
/* A very incomplete placeholder. */
public class Window extends Container
{
- public void dispose ()
- { /* FIXME */ }
+ public Window (Frame parent)
+ {
+ this.parent = parent;
+ // FIXME: compiler bug
+ // this.layoutMgr = new BorderLayout ();
+ }
+
+ public void addNotify ()
+ {
+ if (peer == null)
+ peer = (ComponentPeer) getToolkit ().createWindow (this);
+ super.addNotify ();
+ }
public synchronized void addWindowListener (WindowListener listener)
- { /* FIXME */ }
+ {
+ windowListener = AWTEventMulticaster.add (windowListener, listener);
+ }
+
+ public void dispose ()
+ {
+ }
+
+ public Component getFocusOwner ()
+ {
+ return null; // FIXME
+ }
+ public Locale getLocale ()
+ {
+ return locale == null ? Locale.getDefault () : locale;
+ }
+
+ public String getWarningString ()
+ {
+ return warningString;
+ }
+
+ public void pack ()
+ {
+ addNotify ();
+ // FIXME
+ }
+
+ public boolean postEvent (Event evt)
+ {
+ return false; // FIXME
+ }
+
+ protected void processEvent (AWTEvent evt)
+ {
+ if (evt instanceof WindowEvent)
+ processWindowEvent ((WindowEvent) evt);
+ else
+ super.processEvent (evt);
+ }
+
+ protected void processWindowEvent (WindowEvent evt)
+ {
+ if (windowListener != null)
+ {
+ switch (evt.getID ())
+ {
+ case WindowEvent.WINDOW_ACTIVATED:
+ windowListener.windowActivated (evt);
+ break;
+ case WindowEvent.WINDOW_CLOSED:
+ windowListener.windowClosed (evt);
+ break;
+ case WindowEvent.WINDOW_CLOSING:
+ windowListener.windowClosing (evt);
+ break;
+ case WindowEvent.WINDOW_DEACTIVATED:
+ windowListener.windowDeactivated (evt);
+ break;
+ case WindowEvent.WINDOW_DEICONIFIED:
+ windowListener.windowDeiconified (evt);
+ break;
+ case WindowEvent.WINDOW_ICONIFIED:
+ windowListener.windowIconified (evt);
+ break;
+ case WindowEvent.WINDOW_OPENED:
+ windowListener.windowOpened (evt);
+ break;
+ }
+ }
+ }
+
+ public synchronized void removeWindowListener (WindowListener listener)
+ {
+ windowListener = AWTEventMulticaster.remove (windowListener, listener);
+ }
public void show ()
{
- addNotify();
- // validate FIXME
- // validate setVisible FIXME
+ addNotify ();
+ validate ();
+ setVisible (true);
+ // FIXME: is there more to it?
+ }
+
+ public void toBack ()
+ {
+ if (peer != null)
+ {
+ WindowPeer wp = (WindowPeer) peer;
+ wp.toBack ();
+ }
}
+
+ public void toFront ()
+ {
+ if (peer != null)
+ {
+ WindowPeer wp = (WindowPeer) peer;
+ wp.toFront ();
+ }
+ }
+
+ // Serialized fields, from Sun's serialization spec.
+ // private FocusManager focusMgr; // FIXME: what is this?
+ private int state;
+ private String warningString;
+
+ private transient WindowListener windowListener;
}