- /**
- * Returns the currently active window for this workbench (if any). Returns
- * <code>null</code> if there is no active workbench window. Returns
- * <code>null</code> if called from a non-UI thread.
- *
- * @return the active workbench window, or <code>null</code> if there is
- * no active workbench window or if called from a non-UI thread
- */
- public IWorkbenchWindow getActiveWorkbenchWindow();
调调用的时候不在UI线程中,所以会返回空,可采用如下办法解决
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- System.out.println(window);
- //做想要做的事情吧。
- }
- });