最近在Eclipse插件开发中遇到这样的问题,我使用如入扩展点
也就是在调式Java Application的对话框中,增加一个Tab页,Tab页的名字为SqlDebugTab,在这个Tab页上增加几个复选框,复选框要显示视图的名称,如果用户选择某个复选框,点“Debug”后,将显示指定的视图,可是在com.example.launch.SqlDebugLaunchDelegate类中的launch方法中调用PlatformUI.getWorkbench().getActiveWorkbenchWindow(),得到的对象却为null,调试程序才发现,运行com.example.launch.SqlDebugLaunchDelegate类是,走的是新线程,也就是说点“Debug”按钮时,Eclipse平台启动的是新的线程(非UI线程),而在新线程中是取不到ActiveWorkbenchWindow对象,为了解决这个问题,花费了很多时间,最后终于找到解决方法,在launch方法通过如下程序来显示视图,就可以解决上面遇到的问题:
Powered by: BlogJava Copyright © 笑看人生