source: trunk/gcc/libjava/java/awt/Dialog.java

Last change on this file was 2, checked in by bird, 22 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: 7.5 KB
Line 
1/* Dialog.java -- An AWT dialog box
2 Copyright (C) 1999, 2000, 2001, 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
38
39package java.awt;
40
41import java.awt.peer.DialogPeer;
42import java.awt.peer.WindowPeer;
43import java.awt.peer.ContainerPeer;
44import java.awt.peer.ComponentPeer;
45
46/**
47 * A dialog box widget class.
48 *
49 * @author Aaron M. Renn (arenn@urbanophile.com)
50 * @author Tom Tromey <tromey@redhat.com>
51 */
52public class Dialog extends Window implements java.io.Serializable
53{
54
55/*
56 * Static Variables
57 */
58
59// Serialization constant
60private static final long serialVersionUID = 5920926903803293709L;
61
62/*************************************************************************/
63
64/*
65 * Instance Variables
66 */
67
68/**
69 * @serial Indicates whether or not this dialog box is modal.
70 */
71private boolean modal;
72
73/**
74 * @serial Indicates whether or not this dialog box is resizable.
75 */
76private boolean resizable;
77
78/**
79 * @serial The title string for this dialog box, which can be
80 * <code>null</code>.
81 */
82private String title;
83
84/*************************************************************************/
85
86/*
87 * Constructors
88 */
89
90/**
91 * Initializes a new instance of <code>Dialog</code> with the specified
92 * parent, that is not resizable and not modal, and which has no title.
93 *
94 * @param parent The parent frame of this dialog box.
95 */
96public
97Dialog(Frame parent)
98{
99 this(parent, "", false);
100}
101
102/*************************************************************************/
103
104/**
105 * Initializes a new instance of <code>Dialog</code> with the specified
106 * parent and modality, that is not resizable and which has no title.
107 *
108 * @param parent The parent frame of this dialog box.
109 * @param modal <true> if this dialog box is modal, <code>false</code>
110 * otherwise.
111 */
112public
113Dialog(Frame parent, boolean modal)
114{
115 this(parent, "", modal);
116}
117
118/*************************************************************************/
119
120/**
121 * Initializes a new instance of <code>Dialog</code> with the specified
122 * parent, that is not resizable and not modal, and which has the specified
123 * title.
124 *
125 * @param parent The parent frame of this dialog box.
126 * @param title The title string for this dialog box.
127 */
128public
129Dialog(Frame parent, String title)
130{
131 this(parent, title, false);
132}
133
134/*************************************************************************/
135
136/**
137 * Initializes a new instance of <code>Dialog</code> with the specified,
138 * parent, title, and modality, that is not resizable.
139 *
140 * @param parent The parent frame of this dialog box.
141 * @param title The title string for this dialog box.
142 * @param modal <true> if this dialog box is modal, <code>false</code>
143 * otherwise.
144 */
145public
146Dialog(Frame parent, String title, boolean modal)
147{
148 super(parent);
149
150 this.title = title;
151 this.modal = modal;
152 resizable = false;
153
154 setLayout(new BorderLayout());
155}
156
157public
158Dialog (Dialog owner)
159{
160 this (owner, "", false);
161}
162
163public
164Dialog (Dialog owner, String title)
165{
166 this (owner, title, false);
167}
168
169public
170Dialog (Dialog owner, String title, boolean modal)
171{
172 super (owner);
173 this.modal = modal;
174 this.title = title;
175 setLayout (new BorderLayout ());
176}
177
178/*************************************************************************/
179
180/*
181 * Instance Variables
182 */
183
184/**
185 * Returns the title of this dialog box.
186 *
187 * @return The title of this dialog box.
188 */
189public String
190getTitle()
191{
192 return(title);
193}
194
195/*************************************************************************/
196
197/**
198 * Sets the title of this dialog box to the specified string.
199 *
200 * @param title The new title.
201 */
202public synchronized void
203setTitle(String title)
204{
205 this.title = title;
206 if (peer != null)
207 {
208 DialogPeer d = (DialogPeer) peer;
209 d.setTitle (title);
210 }
211}
212
213/*************************************************************************/
214
215/**
216 * Tests whether or not this dialog box is modal.
217 *
218 * @return <code>true</code> if this dialog box is modal,
219 * <code>false</code> otherwise.
220 */
221public boolean
222isModal()
223{
224 return(modal);
225}
226
227/*************************************************************************/
228
229/**
230 * Changes the modality of this dialog box. This can only be done before
231 * the peer is created.
232 *
233 * @param modal <code>true</code> to make this dialog box modal,
234 * <code>false</code> to make it non-modal.
235 */
236public void
237setModal(boolean modal)
238{
239 this.modal = modal;
240}
241
242/*************************************************************************/
243
244/**
245 * Tests whether or not this dialog box is resizable.
246 *
247 * @return <code>true</code> if this dialog is resizable, <code>false</code>,
248 * otherwise.
249 */
250public boolean
251isResizable()
252{
253 return(resizable);
254}
255
256/*************************************************************************/
257
258/**
259 * Changes the resizability of this dialog box.
260 *
261 * @param resizable <code>true</code> to make this dialog resizable,
262 * <code>false</code> to make it non-resizable.
263 */
264public synchronized void
265setResizable(boolean resizable)
266{
267 this.resizable = resizable;
268 if (peer != null)
269 {
270 DialogPeer d = (DialogPeer) peer;
271 d.setResizable (resizable);
272 }
273}
274
275/*************************************************************************/
276
277/**
278 * Creates this object's native peer.
279 */
280public synchronized void
281addNotify()
282{
283 if (peer == null)
284 peer = getToolkit ().createDialog (this);
285 super.addNotify ();
286}
287
288/*************************************************************************/
289
290/**
291 * Makes this dialog visible and brings it to the front.
292 */
293public void
294show()
295{
296 super.show();
297}
298
299/*************************************************************************/
300
301/**
302 * Returns a debugging string for this component.
303 *
304 * @return A debugging string for this component.
305 */
306protected String
307paramString()
308{
309 return ("title+" + title + ",modal=" + modal +
310 ",resizable=" + resizable + "," + super.paramString());
311}
312
313} // class Dialog
314
Note: See TracBrowser for help on using the repository browser.