如何从 Eclipse 的导航器视图中获取选定的项目?

Joh*_*ith 4 java eclipse eclipse-rcp

我用来从项目资源管理器中获取选定的项目,并使用聚焦于项目资源管理器窗口的 ISelection :

IProject project = null;    





    ISelectionService  selectionService=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

    ISelection selection = selectionService.getSelection("org.eclipse.jdt.ui.ProjectExplorer");    



    if(selection instanceof IStructuredSelection) {    
        Object element = ((IStructuredSelection)selection).getFirstElement();    

        if (element instanceof IResource) {    
            project= ((IResource)element).getProject();    

        }  
        else if (element instanceof IPackageFragmentRoot) {    
            IJavaProject jProject = ((IPackageFragmentRoot)element).getJavaProject(); 
            project = jProject.getProject();
        }
        else if (element instanceof IJavaElement) {    
            IJavaProject jProject= ((IJavaElement)element).getJavaProject();    
            project = jProject.getProject();    
        }
Run Code Online (Sandbox Code Playgroud)

我需要将选择集中在 Navigator 上,我在 getSelection 方法中尝试了 org.eclipse.jdt.internal.ui.Navigator 但它不起作用......

如何从导航器视图中获取选定的项目?

gre*_*449 5

导航器视图的 id 是:

org.eclipse.ui.views.ResourceNavigator
Run Code Online (Sandbox Code Playgroud)

对于项目浏览器视图来说是

org.eclipse.ui.navigator.ProjectExplorer
Run Code Online (Sandbox Code Playgroud)