SWT關閉窗口彈出詢問對話框 .

經過給shell添加SWT.Close事件html

 

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

 

完整示例以下:eclipse

 

  
  
  
  
  1. package test.ftp00;  
  2.  
  3.  
  4. /*  
  5.  * Shell example snippet: prevent a shell from closing (prompt the user)  
  6.  *  
  7.  * For a list of all SWT example snippets see  
  8.  * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/
  9. dev.html#snippets  
  10.  */  
  11. import org.eclipse.swt.SWT;  
  12. import org.eclipse.swt.widgets.Display;  
  13. import org.eclipse.swt.widgets.Event;  
  14. import org.eclipse.swt.widgets.Listener;  
  15. import org.eclipse.swt.widgets.MessageBox;  
  16. import org.eclipse.swt.widgets.Shell;  
  17.  
  18. public class Snippet99 {  
  19.  
  20.     public static void main(String[] args) {  
  21.         Display display = new Display();  
  22.         final Shell shell = new Shell(display);  
  23.         shell.addListener(SWT.Close, new Listener() {  
  24.             public void handleEvent(Event event) {  
  25.                 int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;  
  26.                 MessageBox messageBox = new MessageBox(shell, style);  
  27.                 messageBox.setText("Information");  
  28.                 messageBox.setMessage("Close the shell?");  
  29.                 event.doit = messageBox.open() == SWT.YES;  
  30.             }  
  31.         });  
  32.         shell.pack();  
  33.         shell.open();  
  34.         while (!shell.isDisposed()) {  
  35.             if (!display.readAndDispatch())  
  36.                 display.sleep();  
  37.         }  
  38.         display.dispose();  
  39.     }  
相關文章
相關標籤/搜索