summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-21 05:48:51 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-21 05:48:51 +0000
commit5396b039d610051539b7846b6805ce77883bb2a9 (patch)
tree39e7e83260ed41189cf968ced901bead6477f7fb
parentd43633ea40991e4a3e933c25bb512292eb1064d9 (diff)
downloadgcc-5396b039d610051539b7846b6805ce77883bb2a9.tar.gz
2004-04-21 Mark Wielaard <mark@klomp.org>
* javax/awt/JFrame.java: Implement WindowConstants. Remove final static fields defined in interface. * javax/awt/JDialog.java: Likewise. (JDialog): Make constructors public. (getDefaultCloseOperation): Make public. (processWindowEvent): Call System.exit(0) when EXIT_ON_CLOSE set. (setDefaultCloseOperation): Make public. Check argument. Add API doc. * javax/swing/JViewport.java (JViewport): Make constructor public. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80945 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog11
-rw-r--r--libjava/javax/swing/JDialog.java60
-rw-r--r--libjava/javax/swing/JFrame.java43
-rw-r--r--libjava/javax/swing/JViewport.java2
4 files changed, 84 insertions, 32 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 5e6097329da..cf7cf4e2206 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,14 @@
+2004-04-21 Mark Wielaard <mark@klomp.org>
+
+ * javax/awt/JFrame.java: Implement WindowConstants. Remove final
+ static fields defined in interface.
+ * javax/awt/JDialog.java: Likewise.
+ (JDialog): Make constructors public.
+ (getDefaultCloseOperation): Make public.
+ (processWindowEvent): Call System.exit(0) when EXIT_ON_CLOSE set.
+ (setDefaultCloseOperation): Make public. Check argument. Add API doc.
+ * javax/swing/JViewport.java (JViewport): Make constructor public.
+
2004-04-21 Michael Koch <konqueror@gmx.de>
* java/util/Map.java
diff --git a/libjava/javax/swing/JDialog.java b/libjava/javax/swing/JDialog.java
index 11f27b239e0..8d43b761d96 100644
--- a/libjava/javax/swing/JDialog.java
+++ b/libjava/javax/swing/JDialog.java
@@ -1,5 +1,5 @@
/* JDialog.java --
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -57,12 +57,8 @@ import javax.accessibility.AccessibleContext;
*
* @author Ronald Veldema (rveldema@cs.vu.nl)
*/
-public class JDialog extends Dialog implements Accessible
+public class JDialog extends Dialog implements Accessible, WindowConstants
{
- public final static int HIDE_ON_CLOSE = 0;
- public final static int DISPOSE_ON_CLOSE = 1;
- public final static int DO_NOTHING_ON_CLOSE = 2;
-
protected AccessibleContext accessibleContext;
private int close_action = HIDE_ON_CLOSE;
@@ -75,42 +71,42 @@ public class JDialog extends Dialog implements Accessible
*
*************/
- JDialog(Frame owner)
+ public JDialog(Frame owner)
{
this(owner, "dialog");
}
- JDialog(Frame owner,
+ public JDialog(Frame owner,
String s)
{
this(owner, s, true);
}
- JDialog(Frame owner,
+ public JDialog(Frame owner,
String s,
boolean modeld)
{
super(owner, s, modeld);
}
- JDialog(Frame owner,
+ public JDialog(Frame owner,
// String s,
boolean modeld)
{
super(owner, "JDialog", modeld);
}
- JDialog(Dialog owner)
+ public JDialog(Dialog owner)
{
this(owner, "dialog");
}
- JDialog(Dialog owner,
+ public JDialog(Dialog owner,
String s)
{
this(owner, s, true);
}
- JDialog(Dialog owner,
+ public JDialog(Dialog owner,
String s,
boolean modeld)
{
@@ -221,18 +217,20 @@ public class JDialog extends Dialog implements Accessible
protected void processWindowEvent(WindowEvent e)
{
- // System.out.println("PROCESS_WIN_EV-1: " + e);
super.processWindowEvent(e);
- // System.out.println("PROCESS_WIN_EV-2: " + e);
switch (e.getID())
{
case WindowEvent.WINDOW_CLOSING:
{
switch(close_action)
{
+ case EXIT_ON_CLOSE:
+ {
+ System.exit(0);
+ break;
+ }
case DISPOSE_ON_CLOSE:
{
- System.out.println("user requested dispose on close");
dispose();
break;
}
@@ -258,8 +256,34 @@ public class JDialog extends Dialog implements Accessible
}
- void setDefaultCloseOperation(int operation)
- { close_action = operation; }
+ /**
+ * Defines what happens when this frame is closed. Can be one off
+ * <code>EXIT_ON_CLOSE</code>,
+ * <code>DISPOSE_ON_CLOSE</code>,
+ * <code>HIDE_ON_CLOSE</code> or
+ * <code>DO_NOTHING_ON_CLOSE</code>.
+ * The default is <code>HIDE_ON_CLOSE</code>.
+ * When <code>EXIT_ON_CLOSE</code> is specified this method calls
+ * <code>SecurityManager.checkExit(0)</code> which might throw a
+ * <code>SecurityException</code>. When the specified operation is
+ * not one of the above a <code>IllegalArgumentException</code> is
+ * thrown.
+ */
+ public void setDefaultCloseOperation(int operation)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null && operation == EXIT_ON_CLOSE)
+ sm.checkExit(0);
+
+ if (operation != EXIT_ON_CLOSE && operation != DISPOSE_ON_CLOSE
+ && operation != HIDE_ON_CLOSE && operation != DO_NOTHING_ON_CLOSE)
+ throw new IllegalArgumentException("operation = " + operation);
+
+ close_action = operation;
+ }
+
+ public int getDefaultCloseOperation()
+ { return close_action; }
protected String paramString()
{ return "JDialog"; }
diff --git a/libjava/javax/swing/JFrame.java b/libjava/javax/swing/JFrame.java
index 864f6bae4e0..89d109f660e 100644
--- a/libjava/javax/swing/JFrame.java
+++ b/libjava/javax/swing/JFrame.java
@@ -1,5 +1,5 @@
/* JFrame.java --
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -57,16 +57,11 @@ import javax.accessibility.AccessibleContext;
*
* @author Ronald Veldema (rveldema@cs.vu.nl)
*/
-public class JFrame extends Frame
+public class JFrame extends Frame implements WindowConstants
{
- public final static int HIDE_ON_CLOSE = 0;
- public final static int EXIT_ON_CLOSE = 1;
- public final static int DISPOSE_ON_CLOSE = 2;
- public final static int DO_NOTHING_ON_CLOSE = 3;
-
protected AccessibleContext accessibleContext;
- private int close_action = EXIT_ON_CLOSE;
+ private int close_action = HIDE_ON_CLOSE;
/***************************************************
@@ -192,7 +187,7 @@ public class JFrame extends Frame
return accessibleContext;
}
- int getDefaultCloseOperation()
+ public int getDefaultCloseOperation()
{ return close_action; }
@@ -212,7 +207,7 @@ public class JFrame extends Frame
{
case EXIT_ON_CLOSE:
{
- System.exit(1);
+ System.exit(0);
break;
}
case DISPOSE_ON_CLOSE:
@@ -241,8 +236,30 @@ public class JFrame extends Frame
}
}
-
- void setDefaultCloseOperation(int operation)
- { close_action = operation; }
+ /**
+ * Defines what happens when this frame is closed. Can be one off
+ * <code>EXIT_ON_CLOSE</code>,
+ * <code>DISPOSE_ON_CLOSE</code>,
+ * <code>HIDE_ON_CLOSE</code> or
+ * <code>DO_NOTHING_ON_CLOSE</code>.
+ * The default is <code>HIDE_ON_CLOSE</code>.
+ * When <code>EXIT_ON_CLOSE</code> is specified this method calls
+ * <code>SecurityManager.checkExit(0)</code> which might throw a
+ * <code>SecurityException</code>. When the specified operation is
+ * not one of the above a <code>IllegalArgumentException</code> is
+ * thrown.
+ */
+ public void setDefaultCloseOperation(int operation)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null && operation == EXIT_ON_CLOSE)
+ sm.checkExit(0);
+
+ if (operation != EXIT_ON_CLOSE && operation != DISPOSE_ON_CLOSE
+ && operation != HIDE_ON_CLOSE && operation != DO_NOTHING_ON_CLOSE)
+ throw new IllegalArgumentException("operation = " + operation);
+
+ close_action = operation;
+ }
}
diff --git a/libjava/javax/swing/JViewport.java b/libjava/javax/swing/JViewport.java
index 17e60f1a560..66a9865a767 100644
--- a/libjava/javax/swing/JViewport.java
+++ b/libjava/javax/swing/JViewport.java
@@ -121,7 +121,7 @@ public class JViewport extends JComponent
Point lastPaintPosition;
- JViewport()
+ public JViewport()
{
setOpaque(true);
updateUI();