基于Netbeans文件的Project,而不是基于Folder的

时间:2017-08-16 14:57:05

标签: java netbeans netbeans-8 netbeans-platform

我正在尝试基于此tutorial实施新类型的项目。问题是我希望我的项目保存为单个文件,并带有自定义扩展,因此所有内容都必须驻留在该文件上。像 project_name.cep (cep - 自定义扩展项目)。我不想在项目中打开一种新类型的文件,该文件是我的项目,我想在其中编写节点。

这是要使用的ProjectFactory的示例:

@ServiceProvider(service=ProjectFactory.class)
public class CustomProjectFactory implements ProjectFactory{

    public static final String PROJECT_EXT = "cep";

    //Specifies when a project is a project, i.e.,
    @Override
    public boolean isProject(FileObject projectDirectory) {
        return PROJECT_EXT.equals(projectDirectory.getExt()); //assuming that getExt() give the file extension 
    }

    //Specifies when the project will be opened, i.e., if the project exists:
    @Override
    public Project loadProject(FileObject dir, ProjectState state) throws IOException {
        return isProject(dir) ? new CustomProject(dir, state) : null;
    }

    @Override
    public void saveProject(final Project project) throws IOException, ClassCastException {
        // leave unimplemented for the moment
    }

}

问题是我尝试打开项目时打开的FileChooser似乎是DIRECTORIES_ONLY选择器,因此无法打开单个文件。

可以吗?我真的很感激如何做到这一点的一些例子,如果不是要问如何在这个单个文件中编写节点并在资源管理器中表示它(只是一些建议)。

The Open Project dialog is filtering folders only

1 个答案:

答案 0 :(得分:0)

确实在其目录中标识了NetBeans项目。

我看到的唯一方法是创建一个允许选择文件的NetBeans项目模块的自定义版本。