Prevent a shell from closing (prompt the user) : Shell « SWT « Java Tutorial






Prevent a shell from closing (prompt the user)
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;

public class ShellClosePrevent {

  public static void main(String[] args) {
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.addListener(SWT.Close, new Listener() {
      public void handleEvent(Event event) {
        int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;
        MessageBox messageBox = new MessageBox (shell, style);
        messageBox.setText ("Information");
        messageBox.setMessage ("Close the shell?");
        event.doit = messageBox.open () == SWT.YES;

      }
    });
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    display.dispose();
  }
}








17.4.Shell
17.4.1.Understanding the Shell Object
17.4.2.Creating Shells
17.4.3.Open a shell minimized (iconified)
17.4.4.Open a shell maximized (full screen)
17.4.5.Center a shell on the primary monitorCenter a shell on the primary monitor
17.4.6.Set icons with different resolutions
17.4.7.Create a non-rectangular windowCreate a non-rectangular window
17.4.8.Create a non-rectangular shell to simulate transparencyCreate a non-rectangular shell to simulate transparency
17.4.9.Create non-rectangular shell from an image with transparencyCreate non-rectangular shell from an image with transparency
17.4.10.Allow escape to close a shellAllow escape to close a shell
17.4.11.Prevent a shell from closing (prompt the user)Prevent a shell from closing (prompt the user)
17.4.12.Create GC from Shell and paint on windowCreate GC from Shell and paint on window
17.4.13.Getting Controls on a shellGetting Controls on a shell
17.4.14.Set default Button for ShellSet default Button for Shell
17.4.15.Get Default ButtonGet Default Button
17.4.16.Shell with SWT.SHELL_TRIM|SWT.TOOL styleShell with SWT.SHELL_TRIM|SWT.TOOL style
17.4.17.Ring ShellRing Shell
17.4.18.Set left upper corner imageSet left upper corner image
17.4.19.Shell without Title bar
17.4.20.ON_TOP: This style bit causes the shell to always float on the top of the desktop.
17.4.21.SHELL_TRIM = (CLOSE | TITLE | MIN | MAX | RESIZE): top-level shells.SHELL_TRIM = (CLOSE | TITLE | MIN | MAX | RESIZE): top-level shells.
17.4.22.DIALOG_TRIM = (CLOSE | TITLE | BORDER): dialog shells.
17.4.23.The modal state of shells: APPLICATION_MODAL, MODELESS, PRIMARY_MODAL, SYSTEM_MODAL
17.4.24.TOOL: the shell is a tool window(floating toolbars)
17.4.25.Shell States
17.4.26.Setting the Title