Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查是否选择了多个项目_Java_Eclipse_Eclipse Plugin - Fatal编程技术网

Java 检查是否选择了多个项目

Java 检查是否选择了多个项目,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我是eclipse插件开发的新手。我编写了一个代码,可以获取选定的项目名称和路径。但如果选择了多个项目,则会列出第一个项目 这是我的密码 IStructuredSelection selection = (IStructuredSelection) window.getSelectionService().getSelection(); Object firstElement = selection.getFirstElement(); if (firstElement != null) {

我是eclipse插件开发的新手。我编写了一个代码,可以获取选定的项目名称和路径。但如果选择了多个项目,则会列出第一个项目

这是我的密码

IStructuredSelection selection = (IStructuredSelection) window.getSelectionService().getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement != null) {
    if (firstElement instanceof IAdaptable) {
        IProject project = (IProject) ((IAdaptable) firstElement).getAdapter(IProject.class);
        IPath path = project.getFullPath();
        IPath location = project.getLocation();
    }
}

如何检查是否选择了多个项目?

使用
selection.iterator
对所选项目进行迭代。可能是这样的

    Iterator it = selection.iterator();
    while(it.hasNext()){
    Object firstElement = it.next();
if (firstElement != null) {
    if (firstElement instanceof IAdaptable) {
        IProject project = (IProject) ((IAdaptable) firstElement).getAdapter(IProject.class);
        IPath path = project.getFullPath();
        IPath location = project.getLocation();
    }
}
    }
编辑:更新了更详细的代码


合并您的逻辑以查看是否选择了单个或多个项目。使用计数器检查选择的项目数

它会导致无限循环,您可以查看迭代器(it)的大小并得出结论。希望您正在使用“instanceOf IAdaptable”检查是否选择了多个项目。您必须在循环中调用“it.next()”才能移动到每个新项目。