您的位置:首页 > 运维架构 > Shell

在rcp中获得父Shell的几种方法

2010-07-30 11:43 204 查看
原帖地址 http://www.blogjava.net/dayue/archive/2007/04/23/112941.html



在实现了IWorkbenchWindowActionDelegate接口的类中:

private IWorkbenchWindow window;
public void init(IWorkbenchWindow window) {
	this.window = window;
}
public void run(IAction action) {
	Shell parentShell = window.getShell();
	MyDialog dialog = new MyDialog(parentShell, );
	...etc... 
}




在实现了IObjectActionDelegate 接口的类中:

private IWorkbenchPart targetPart;
public void setActivePart(IAction action, IWorkbenchPart targetPart){
	this.targetPart = targetPart;
}
public void run(IAction action) {
	IWorkbenchPartSite site = targetPart.getSite();
	MyDialog dialog = new MyDialog(site, );
	...etc... 
}




IViewPart 或者IEditorPart :

IShellProvider shellProvider = viewOrEditor.getSite();




PlatformUI:

Shell parentShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();




Display :

Shell parentShell = Display.getDefault().getActiveShell();




以上各种方法对于获取其它的一些rcp中的重要对象也都有借鉴意义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: