getActiveWorkbenchWindow() return null 解决办法
时间:2014-05-23 02:30:07
收藏:0
阅读:472
getActiveWorkbenchWindow 有如下声明
/** * 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); //做想要做的事情吧。 } });
评论(0)