我在关闭是调用
shell.addDisposeListener(new DisposeListener(){
public void widgetDisposed(DisposeEvent e) {
if(MessageDialog.openConfirm(null,null,"确定退出系统吗?"))
{ }else{
shell.close();
}
}
});这个方法。不管点“ok”还是“cancel”它都会关闭。请问怎么解决?
shell.addDisposeListener(new DisposeListener(){
public void widgetDisposed(DisposeEvent e) {
if(MessageDialog.openConfirm(null,null,"确定退出系统吗?"))
{ }else{
shell.close();
}
}
});这个方法。不管点“ok”还是“cancel”它都会关闭。请问怎么解决?
import org.eclipse.swt.widgets.*;public class GoodLuck {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 ();
}
}