java - 如何使用 IStructuredSelection 获取多选项目?

标签 java eclipse-plugin

我尝试开发新闻eclipse工具(eclipse插件),所以我想从工作区获取多个选定的项目。我尝试 getFirstElement(),但它只能获取第一个选定的项目。

非常感谢

这里是一些代码:

public Object execute(ExecutionEvent event) throws ExecutionException {
    part = HandlerUtil.getActivePart(event);
    window = HandlerUtil.getActiveWorkbenchWindowChecked(event);

        selection = HandlerUtil.getActiveMenuSelection(event);

    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structured = (IStructuredSelection)selection;

        IJavaProject project = null;

        Object elem = structured.getFirstElement();

        if (elem instanceof IJavaProject) {
            project = (IJavaProject)elem;
        } else if (elem instanceof IProject) {
            project = (IJavaProject)JavaCore.create((IProject)elem);
        }

        if (project != null) {
                        }
    }
    return null;
}

最佳答案

顾名思义,IStructuredSelection.getFirstElement() 只为您提供第一个选择。

要获取所有选择,请使用 iterator()toArray()toList() 方法。

例如:

IStructuredSelection structured = (IStructuredSelection)selection;

for (Object elem : structured.toList()) {
    IJavaProject project = null;

    if (elem instanceof IJavaProject) {
        project = (IJavaProject)elem;
    } else if (elem instanceof IProject) {
        project = (IJavaProject)JavaCore.create((IProject)elem);
    }

    if (project != null) {
       ... your code
    }        
}

关于java - 如何使用 IStructuredSelection 获取多选项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26559805/

相关文章:

java - ActiveMQ 和 CachingConnectionFactory 的自动重新连接问题

java - 不带 Eclipse 平台的 GEF 5

java - 如何在 Eclipse 中对多个文件应用 XPATH

javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:PKIX 路径构建失败:

java - 无法运行 .jar 文件/java.jar : line 1: public: command not found

java - 如何将 MultipartFile 转换为字节流

eclipse - 项目/向导如何与透视相关?

eclipse - 如何获取Eclipse Workspace位置URI

git - 在 Eclipse Ubuntu 中重新索引存储库

java - 在 Java 中为遗传编程目的创建二叉树