//重构dlg的初始化类
@使用IShellProvider获取Shell;
public UserLogin(IShellProvider parentShell)
{
super(parentShell);
}
//
Display display = PlatformUI.createDisplay();
UserLogin userdlg=new UserLogin(new Shell());
try
{
int rescode=userdlg.open();
//获取模式窗体的返回结果,如果为假,直接退出创建Workbench
if (rescode!=IDialogConstants.OK_ID) return IApplication.EXIT_OK;
else {
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
} finally
{
display.dispose();
}
}
}
finally
{
display.dispose();
}