2017-08-16 1 views
0

J'essaye d'implémenter un nouveau type de projet basé sur ce tutorial. Le problème est que je veux que mon projet soit enregistré en tant que fichier unique, avec une extension personnalisée, donc tout le contenu doit résider sur ce fichier. Comme nom_projet.cep (cep - projet d'extension personnalisé). Je ne veux pas ouvrir un nouveau type de fichier dans le projet, ce fichier est mon projet, et je veux écrire des noeuds à l'intérieur.Netbeans basé sur le projet, non basé sur le dossier

Voici un exemple de la ProjectFactory à utiliser:

@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 
    } 

}

Le problème est que le FileChooser ouvert quand j'ai essayé d'ouvrir le projet semble être un chooser DIRECTORIES_ONLY, donc une seule le fichier ne peut pas être ouvert.

Peut être fait? J'apprécie vraiment un exemple de comment faire cela et si ce n'est pas trop de demander comment écrire des nœuds dans ce fichier unique et le représenter dans l'explorateur (juste quelques conseils).

The Open Project dialog is filtering folders only

Répondre

0

En effet les projets NetBeans sont identifiés sur leurs répertoires. La seule façon dont je vois est de créer une version personnalisée du module de projet NetBeans qui permet de sélectionner des fichiers.

+0

Oui, merci, il n'y a pas d'autre moyen, et cela implique beaucoup de travail. – abdiel