source: trunk/gcc/libjava/javax/swing/JDialog.java

Last change on this file was 1389, checked in by bird, 21 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 6.5 KB
Line 
1/* JDialog.java --
2 Copyright (C) 2002 Free Software Foundation, Inc.
3
4This file is part of GNU Classpath.
5
6GNU Classpath is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU Classpath is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Classpath; see the file COPYING. If not, write to the
18Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1902111-1307 USA.
20
21Linking this library statically or dynamically with other modules is
22making a combined work based on this library. Thus, the terms and
23conditions of the GNU General Public License cover the whole
24combination.
25
26As a special exception, the copyright holders of this library give you
27permission to link this library with independent modules to produce an
28executable, regardless of the license terms of these independent
29modules, and to copy and distribute the resulting executable under
30terms of your choice, provided that you also meet, for each linked
31independent module, the terms and conditions of the license of that
32module. An independent module is a module which is not derived from
33or based on this library. If you modify this library, you may extend
34this exception to your version of the library, but you are not
35obligated to do so. If you do not wish to do so, delete this
36exception statement from your version. */
37
38package javax.swing;
39
40import java.awt.*;
41import java.awt.event.*;
42
43import javax.accessibility.Accessible;
44import javax.accessibility.AccessibleContext;
45import javax.accessibility.AccessibleRole;
46import javax.accessibility.AccessibleState;
47import javax.accessibility.AccessibleStateSet;
48
49/**
50 * Unlike JComponent derivatives, JDialog inherits from
51 * java.awt.Dialog. But also lets a look-and-feel component to its work.
52 *
53 * @author Ronald Veldema (rveldema@cs.vu.nl)
54 */
55public class JDialog extends Dialog implements Accessible
56{
57 public final static int HIDE_ON_CLOSE = 0;
58 public final static int DISPOSE_ON_CLOSE = 1;
59 public final static int DO_NOTHING_ON_CLOSE = 2;
60
61 protected AccessibleContext accessibleContext;
62
63 private int close_action = HIDE_ON_CLOSE;
64
65 /***************************************************
66 *
67 *
68 * constructors
69 *
70 *
71 *************/
72
73 JDialog(Frame owner)
74 {
75 this(owner, "dialog");
76 }
77
78 JDialog(Frame owner,
79 String s)
80 {
81 this(owner, s, true);
82 }
83
84 JDialog(Frame owner,
85 String s,
86 boolean modeld)
87 {
88 super(owner, s, modeld);
89 }
90
91 JDialog(Frame owner,
92 // String s,
93 boolean modeld)
94 {
95 super(owner, "JDialog", modeld);
96 }
97 JDialog(Dialog owner)
98 {
99 this(owner, "dialog");
100 }
101
102 JDialog(Dialog owner,
103 String s)
104 {
105 this(owner, s, true);
106 }
107
108 JDialog(Dialog owner,
109 String s,
110 boolean modeld)
111 {
112 super(owner, s, modeld);
113 }
114
115
116 /***************************************************
117 *
118 *
119 * methods, this part is shared with JDialog, JFrame
120 *
121 *
122 *************/
123
124
125 private boolean checking;
126 protected JRootPane rootPane;
127
128 void setLocationRelativeTo(Component c)
129 {
130 }
131
132
133 protected void frameInit()
134 {
135 super.setLayout(new BorderLayout(1, 1));
136 getRootPane(); // will do set/create
137 }
138
139 public Dimension getPreferredSize()
140 {
141 Dimension d = super.getPreferredSize();
142 return d;
143 }
144
145 JMenuBar getJMenuBar()
146 { return getRootPane().getJMenuBar(); }
147
148 void setJMenuBar(JMenuBar menubar)
149 { getRootPane().setJMenuBar(menubar); }
150
151
152 public void setLayout(LayoutManager manager)
153 { super.setLayout(manager); }
154
155 void setLayeredPane(JLayeredPane layeredPane)
156 { getRootPane().setLayeredPane(layeredPane); }
157
158 JLayeredPane getLayeredPane()
159 { return getRootPane().getLayeredPane(); }
160
161 JRootPane getRootPane()
162 {
163 if (rootPane == null)
164 setRootPane(createRootPane());
165 return rootPane;
166 }
167
168 void setRootPane(JRootPane root)
169 {
170 if (rootPane != null)
171 remove(rootPane);
172
173 rootPane = root;
174 add(rootPane, BorderLayout.CENTER);
175 }
176
177 JRootPane createRootPane()
178 { return new JRootPane(); }
179
180 Container getContentPane()
181 { return getRootPane().getContentPane(); }
182
183 void setContentPane(Container contentPane)
184 { getRootPane().setContentPane(contentPane); }
185
186 Component getGlassPane()
187 { return getRootPane().getGlassPane(); }
188
189 void setGlassPane(Component glassPane)
190 { getRootPane().setGlassPane(glassPane); }
191
192
193 protected void addImpl(Component comp, Object constraints, int index)
194 { super.addImpl(comp, constraints, index); }
195
196
197 public void remove(Component comp)
198 { getContentPane().remove(comp); }
199
200 protected boolean isRootPaneCheckingEnabled()
201 { return checking; }
202
203
204 protected void setRootPaneCheckingEnabled(boolean enabled)
205 { checking = enabled; }
206
207
208 public void update(Graphics g)
209 { paint(g); }
210
211 protected void processKeyEvent(KeyEvent e)
212 { super.processKeyEvent(e); }
213
214 /////////////////////////////////////////////////////////////////////////////////
215
216
217 protected void processWindowEvent(WindowEvent e)
218 {
219 // System.out.println("PROCESS_WIN_EV-1: " + e);
220 super.processWindowEvent(e);
221 // System.out.println("PROCESS_WIN_EV-2: " + e);
222 switch (e.getID())
223 {
224 case WindowEvent.WINDOW_CLOSING:
225 {
226 switch(close_action)
227 {
228 case DISPOSE_ON_CLOSE:
229 {
230 System.out.println("user requested dispose on close");
231 dispose();
232 break;
233 }
234 case HIDE_ON_CLOSE:
235 {
236 setVisible(false);
237 break;
238 }
239 case DO_NOTHING_ON_CLOSE:
240 break;
241 }
242 break;
243 }
244
245 case WindowEvent.WINDOW_CLOSED:
246 case WindowEvent.WINDOW_OPENED:
247 case WindowEvent.WINDOW_ICONIFIED:
248 case WindowEvent.WINDOW_DEICONIFIED:
249 case WindowEvent.WINDOW_ACTIVATED:
250 case WindowEvent.WINDOW_DEACTIVATED:
251 break;
252 }
253 }
254
255
256 void setDefaultCloseOperation(int operation)
257 { close_action = operation; }
258
259 protected String paramString()
260 { return "JDialog"; }
261
262 public AccessibleContext getAccessibleContext()
263 {
264 return null;
265 }
266}
Note: See TracBrowser for help on using the repository browser.