在退出程序的时候,询问用户是否确定退出,代码如下: import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; public class TestExit { private Shell shell; public Shell getShell() { return shell; } public void setShell(Shell shell) { this.shell = shell; } public TestExit() { Display display = new Display(); Shell shell = new Shell(display, SWT.SHELL_TRIM); setShell(shell); shell.setLayout(new RowLayout(SWT.HORIZONTAL)); shell.setText("TestExit"); Menu menubar = new Menu(shell, SWT.BAR); MenuItem fileitem = new MenuItem(menubar, SWT.CASCADE); fileitem.setText("&文件"); Menu filemenu = new Menu(shell, SWT.DROP_DOWN); fileitem.setMenu(filemenu); MenuItem exititem = new MenuItem(filemenu, SWT.PUSH); exititem.setText("&退出"); exititem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent arg0) { MessageBox messagebox = new MessageBox(getShell(), SWT.YES | SWT.NO); messagebox.setText("退出程序"); messagebox.setMessage("确定退出程序么?"); int val = messagebox.open(); if (val == SWT.YES) { getShell().close(); } } }); shell.setMenuBar(menubar); shell.setSize(600, 400); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } public static void main(String[] args) { TestExit demo = new TestExit(); } }