//obtain the active page
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
Run Code Online (Sandbox Code Playgroud)
返回线程"Thread-3"中的异常java.lang.NullPointerExceptionμ.我该怎么办?
小智 37
如果线程未在活动窗口中运行,则PlatformUI.getWorkbench().getActiveWorkbenchWindow()将返回"null".您必须将代码包装在Display中,例如:
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
IWorkbenchWindow iw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
}
});
Run Code Online (Sandbox Code Playgroud)
添加一些空检查,工作台可能没有活动窗口,但如果工作台尚未启动(例如尚未调用 createAndRunWorkbench()),PlatformUI.getWorkbench 也可能抛出 IllegalStateException。
IWorkbenchWindow window = PlatformUI.getWorkbench().getInstance()
.getActiveWorkbenchWindow();
if(workbenchWindow != null) {
IWorkbenchPage page = window .getActivePage();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8164 次 |
| 最近记录: |