作为一个Java新手,有多年的iOS和.NET经验,我发现这非常令人困惑。 我认为自己需要的东西非常简单-我需要一个对话框(从主窗口调用),它有确定和取消按钮。当你点击确定时,它执行某些操作,然后关闭对话框。当你点击取消时,它只是关闭对话框。
但是,使用SWT shell Dialog类来实现这一点并不明显。如何获得一个按钮以关闭对话框,并将执行返回到主窗口?
但是,使用SWT shell Dialog类来实现这一点并不明显。如何获得一个按钮以关闭对话框,并将执行返回到主窗口?
使用Shell.close()
而不是dispose()
- 因此使用shlCheckOut.close()
。
Shell.close
发送SWT.Close
事件,然后调用dispose
。
在一番试错和大量的无果搜索后,我发现在您的按钮代码中,您需要调用对话框的外壳变量的.dispose()方法。例如,我的对话框是CheckOutDialog
,因此我将外壳变量命名为shlCheckOut
。在createContents()
方法中,我将按钮代码放置如下:
...
Button btnCancel = new Button(shlCheckOut, SWT.NONE);
btnCancel.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
shlCheckOut.dispose();
}
}
}
Shell.close()
更为恰当。 - greg-449Exception in thread "main" org.eclipse.swt.SWTException: Widget is disposed
- billmcc