getActiveWorkbenchWindow() return null 解决办法

来源:互联网 发布:游戏制作软件安卓版 编辑:程序博客网 时间:2024/05/23 00:10

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 0
原创粉丝点击