home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1997 May
/
Pcwk0597.iso
/
sybase
/
starbuck
/
java.z
/
Dialog.java
< prev
next >
Wrap
Text File
|
1996-05-03
|
4KB
|
142 lines
/*
* @(#)Dialog.java 1.15 96/04/22 Arthur van Hoff
*
* Copyright (c) 1995 Sun Microsystems, Inc. All Rights Reserved.
*
* Permission to use, copy, modify, and distribute this software
* and its documentation for NON-COMMERCIAL purposes and without
* fee is hereby granted provided that this copyright notice
* appears in all copies. Please refer to the file "copyright.html"
* for further important copyright and licensing information.
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
* THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
*/
package java.awt;
import java.awt.peer.DialogPeer;
/**
* A class that produces a dialog - a window that takes input from the user.
* The default layout for a dialog is BorderLayout.
*
* @version 1.15, 22 Apr 1996
* @author Sami Shaio
* @author Arthur van Hoff
*/
public class Dialog extends Window {
boolean resizable = true;
/**
* Sets to true if the Dialog is modal. A modal
* Dialog grabs all the input from the user.
*/
boolean modal;
/**
* The title of the Dialog.
*/
String title;
/**
* Constructs an initially invisible Dialog. A modal
* Dialog grabs all the input from the user.
* @param parent the owner of the dialog
* @param modal if true, dialog blocks input to other windows when shown
* @see Component#resize
* @see Component#show
*/
public Dialog(Frame parent, boolean modal) {
super(parent);
this.modal = modal;
}
/**
* Constructs an initially invisible Dialog with a title.
* A modal Dialog grabs all the input from the user.
* @param parent the owner of the dialog
* @param title the title of the dialog
* @param modal if true, dialog blocks input to other windows when shown
* @see Component#resize
* @see Component#show
*/
public Dialog(Frame parent, String title, boolean modal) {
this(parent, modal);
this.title = title;
}
/**
* Creates the frame's peer. The peer allows us to change the appearance
* of the frame without changing its functionality.
*/
public synchronized void addNotify() {
if (peer == null) {
peer = getToolkit().createDialog(this);
}
super.addNotify();
}
/**
* Returns true if the Dialog is modal. A modal
* Dialog grabs all the input from the user.
*/
public boolean isModal() {
return modal;
}
/**
* Gets the title of the Dialog.
* @see #setTitle
*/
public String getTitle() {
return title;
}
/**
* Sets the title of the Dialog.
* @param title the new title being given to the Dialog
* @see #getTitle
*/
public void setTitle(String title) {
this.title = title;
DialogPeer peer = (DialogPeer)this.peer;
if (peer != null) {
peer.setTitle(title);
}
}
/**
* Returns true if the user can resize the frame.
*/
public boolean isResizable() {
return resizable;
}
/**
* Sets the resizable flag.
* @param resizable true if resizable; false otherwise
*/
public void setResizable(boolean resizable) {
this.resizable = resizable;
DialogPeer peer = (DialogPeer)this.peer;
if (peer != null) {
peer.setResizable(resizable);
}
}
/**
* Returns the parameter String of this Dialog.
*/
protected String paramString() {
String str = super.paramString() + (modal ? ",modal" : ",modeless");
if (title != null) {
str += ",title=" + title;
}
return str;
}
}