为什么要获取active shell?
创建其它dialog或window,需要传出shell,以便构成modal模式。
如何获取?
Shell shell = Display.getDefault().getActiveShell();
因为RCP程序运行在Display.getDefault()上,所以下面的方法返回的active shell是同一个东西,只是比较麻烦。
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); PlatformUI.getWorkbench().getDisplay().getActiveShell();
一般程序只有一个Display,就是Display.getDefault(),所以在UI线程上,下面方法也可以返回active shell。
Display.getCurrent().getActiveShell();