在RCP编程中,经常需要要取得IWorkbenchPage实例,现在将各种情况总结如下:
1.如果是在Action中,可以在定义Action时,传入一个参数(IWorkbenchWindow window)
IWorkbenchPage page = window.getActivePage();
2.如果需要从视图中得到,可以用下面的方法:
IWorkbenchPage page = getViewSite().getWorkbenchWindow().getActivePage();
3.通用的获取方法
①IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
②IWorkbenchPage page = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
其中,Activator父类为AbstractUIPlugin,这个类是在建立插件程序时,eclipse自动为你生成的,当然,名称可以修改。
一般申明为:
public class Activator extends AbstractUIPlugin {
}