public abstract class Dialog
extends java.lang.Object
Dialog
typically contains other widgets
that are not accessible. A Dialog
is not
a Widget
.
This class can also be used as the abstract superclass for user-designed dialogs. Such dialogs usually consist of a Shell with child widgets. The basic template for a user-defined dialog typically looks something like this:
public class MyDialog extends Dialog {
Object result;
public MyDialog (Shell parent, int style) {
super (parent, style);
}
public MyDialog (Shell parent) {
this (parent, 0); // your default style bits go here (not the Shell's style bits)
}
public Object open () {
Shell parent = getParent();
Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
shell.setText(getText());
// Your code goes here (widget creation, set result, etc).
shell.open();
Display display = parent.getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
return result;
}
}
Note: The modality styles supported by this class
are treated as HINTs, because not all are supported
by every subclass on every platform. If a modality style is
not supported, it is "upgraded" to a more restrictive modality
style that is supported. For example, if PRIMARY_MODAL
is not supported by a particular dialog, it would be upgraded to
APPLICATION_MODAL
. In addition, as is the case
for shells, the window manager for the desktop on which the
instance is visible has ultimate control over the appearance
and behavior of the instance, including its modality.
Note: Only one of the styles APPLICATION_MODAL, PRIMARY_MODAL, and SYSTEM_MODAL may be specified.
Modifier and Type | Field and Description |
---|---|
(package private) Shell |
parent |
(package private) int |
style |
(package private) java.lang.String |
title |
Constructor and Description |
---|
Dialog(Shell parent)
Constructs a new instance of this class given only its
parent.
|
Dialog(Shell parent,
int style)
Constructs a new instance of this class given its parent
and a style value describing its behavior and appearance.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
checkParent(Shell parent)
Throws an exception if the specified widget can not be
used as a parent for the receiver.
|
(package private) static int |
checkStyle(Shell parent,
int style) |
protected void |
checkSubclass()
Checks that this class can be subclassed.
|
(package private) void |
error(int code)
Does whatever dialog specific cleanup is required, and then
uses the code in
SWTError.error to handle the error. |
Shell |
getParent()
Returns the receiver's parent, which must be a
Shell
or null. |
int |
getStyle()
Returns the receiver's style information.
|
java.lang.String |
getText()
Returns the receiver's text, which is the string that the
window manager will typically display as the receiver's
title.
|
void |
setText(java.lang.String string)
Sets the receiver's text, which is the string that the
window manager will typically display as the receiver's
title, to the argument, which must not be null.
|
int style
Shell parent
java.lang.String title
public Dialog(Shell parent)
parent
- a shell which will be the parent of the new instancejava.lang.IllegalArgumentException
- SWTException
- public Dialog(Shell parent, int style)
The style value is either one of the style constants defined in
class SWT
which is applicable to instances of this
class, or must be built by bitwise OR'ing together
(that is, using the int
"|" operator) two or more
of those SWT
style constants. The class description
lists the style constants that are applicable to the class.
Style bits are also inherited from superclasses.
parent
- a shell which will be the parent of the new instancestyle
- the style of dialog to constructjava.lang.IllegalArgumentException
- SWTException
- SWT.PRIMARY_MODAL
,
SWT.APPLICATION_MODAL
,
SWT.SYSTEM_MODAL
protected void checkSubclass()
IMPORTANT: See the comment in Widget.checkSubclass()
.
SWTException
- Widget.checkSubclass()
void checkParent(Shell parent)
java.lang.IllegalArgumentException
- SWTException
- static int checkStyle(Shell parent, int style)
void error(int code)
SWTError.error
to handle the error.code
- the descriptive error codeSWT.error(int)
public Shell getParent()
Shell
or null.SWTException
- public int getStyle()
Note that, the value which is returned by this method may not match the value which was provided to the constructor when the receiver was created.
SWTException
- public java.lang.String getText()
SWTException
- public void setText(java.lang.String string)
string
- the new textjava.lang.IllegalArgumentException
- SWTException
-