diff options
author | Mark Wielaard <mark@klomp.org> | 2004-04-21 05:48:51 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2004-04-21 05:48:51 +0000 |
commit | 1c3d6bb26fdfe129a7b087a1843ed4d0b051013b (patch) | |
tree | 39e7e83260ed41189cf968ced901bead6477f7fb /libjava/javax/swing/JFrame.java | |
parent | 387fa012f2b0c6e44cf834400a59f73ede9bc2db (diff) | |
download | gcc-1c3d6bb26fdfe129a7b087a1843ed4d0b051013b.zip gcc-1c3d6bb26fdfe129a7b087a1843ed4d0b051013b.tar.gz gcc-1c3d6bb26fdfe129a7b087a1843ed4d0b051013b.tar.bz2 |
JFrame.java: Implement WindowConstants.
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.
From-SVN: r80945
Diffstat (limited to 'libjava/javax/swing/JFrame.java')
-rw-r--r-- | libjava/javax/swing/JFrame.java | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/libjava/javax/swing/JFrame.java b/libjava/javax/swing/JFrame.java index 864f6ba..89d109f 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; + } } |