Class Dialog

java.lang.Object
org.eclipse.swt.widgets.Dialog
Direct Known Subclasses:
ColorDialog, DirectoryDialog, FileDialog, FontDialog, MessageBox, PrintDialog

public abstract class Dialog extends Object
This class is the abstract superclass of the classes that represent the built in platform dialogs. A 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.

Styles:
APPLICATION_MODAL, PRIMARY_MODAL, SYSTEM_MODAL, SHEET
Events:
(none)

Note: Only one of the styles APPLICATION_MODAL, PRIMARY_MODAL, and SYSTEM_MODAL may be specified.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) Shell
     
    (package private) int
     
    (package private) String
     
  • Constructor Summary

    Constructors
    Constructor
    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.
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
    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
    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.
    Returns the receiver's parent, which must be a Shell or null.
    int
    Returns the receiver's style information.
    Returns the receiver's text, which is the string that the window manager will typically display as the receiver's title.
    void
    setText(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.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • style

      int style
    • parent

      Shell parent
    • title

      String title
  • Constructor Details

    • Dialog

      public Dialog(Shell parent)
      Constructs a new instance of this class given only its parent.
      Parameters:
      parent - a shell which will be the parent of the new instance
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the parent is null
      SWTException -
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
    • Dialog

      public Dialog(Shell parent, int style)
      Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

      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.

      Parameters:
      parent - a shell which will be the parent of the new instance
      style - the style of dialog to construct
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the parent is null
      SWTException -
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
      See Also:
  • Method Details

    • checkSubclass

      protected void checkSubclass()
      Checks that this class can be subclassed.

      IMPORTANT: See the comment in Widget.checkSubclass().

      Throws:
      SWTException -
      • ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
      See Also:
    • checkParent

      void checkParent(Shell parent)
      Throws an exception if the specified widget can not be used as a parent for the receiver.
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the parent is null
      • ERROR_INVALID_ARGUMENT - if the parent is disposed
      SWTException -
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
    • checkStyle

      static int checkStyle(Shell parent, int style)
    • error

      void error(int code)
      Does whatever dialog specific cleanup is required, and then uses the code in SWTError.error to handle the error.
      Parameters:
      code - the descriptive error code
      See Also:
    • getParent

      public Shell getParent()
      Returns the receiver's parent, which must be a Shell or null.
      Returns:
      the receiver's parent
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getStyle

      public int getStyle()
      Returns the receiver's style information.

      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.

      Returns:
      the style bits
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • getText

      public String getText()
      Returns the receiver's text, which is the string that the window manager will typically display as the receiver's title. If the text has not previously been set, returns an empty string.
      Returns:
      the text
      Throws:
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
    • setText

      public void setText(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.
      Parameters:
      string - the new text
      Throws:
      IllegalArgumentException -
      • ERROR_NULL_ARGUMENT - if the text is null
      SWTException -
      • ERROR_WIDGET_DISPOSED - if the receiver has been disposed
      • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver