在實現了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中的重要對象也都有借鑒意義。











































Display :

以上各種方法對于獲取其它的一些rcp中的重要對象也都有借鑒意義。