IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NetBeans Platform Java Discussion :

ouvrir des fichiers source dans l'éditeur


Sujet :

NetBeans Platform Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut ouvrir des fichiers source dans l'éditeur
    Salutation amis développeurs

    Dans le cadre de mon travail de fin d'étude , je dois développer un module pour L'IDE Netbeans.
    Et j'ai comme qui dirait un grave problème.
    Je ne sais pas comment ouvrir un fichier dans un éditeur de code ...

    Mon module normalement devrait fonctionner de la sorte, en appuyant sur un bouton, le module télécharge un ou plusieurs fichiers, (.C ou .java) et doit ouvrir tout ces fichiers dans l'éditeur ...

    Je n'ai pas de problème avec le téléchargement, je ne sais juste pas comment ouvrir ces fichiers une fois téléchargé.

    Merci pour votre aide

    Amicalement

  2. #2
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    Pour ouvrir tes fichiers dans l'éditeur, il te faut utiliser FileObject et FileUtil de NetBeans. (org.openide.filesystem etc).
    L'extenion .java et .c seront reconnu les modules à l'aide d'un DataObject. Bien-sûre, l'edi et le module C devra être référencé dans pour cela.
    Ici, c'est un peu long à lire mais bien expliqué.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Merci pour cette réponse, ca m'a l'air parfait =).

    Je lirai cette page demain , ou plutot dans quelques heures à esprit reposé.

    En attendant je marque le sujet comme résolu

    Merci encore !

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Après lecture, je ne suis pas plus avancé,

    Je comprend comment les fichiers sont représenté dans le système.
    Je comprend aussi que chaque fenêtre est une instance d'un objet in-héritant TopComponent , et que nous pouvons aisément gérer les fenêtres à l'aide de WindowManager.getDefault().

    Je ne comprend toujours pas comment ouvrir plusieurs fichiers dans un "mode", ni même comment ouvrir un simple fichier dans un editeur.
    N'y a t'il pas une classe toute faite implémentant toutes les fonctionnalités basiques d'un éditeur de code, ou dois je vraiment créer ma propre classe extends TopComponent et gérer tout moi même ?

    Excusez mon ignorance, je suis néophyte

    Merci

  5. #5
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    Peut-être bout de code peu t'aider : il permet d'ouvrir un fichier du disque.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FileObject fob = FileUtil.toFileObject(FileUtil.normalizeFile(fileName)); 
    if (fob != null) { 
    DataObject dob = DataObject.find (fob); 
    OpenCookie oc = (OpenCookie) dob.getCookie (OpenCookie.class); 
    if (oc != null) 
    oc.open(); 
    }
    Attention : Il faut que les modules permettant la reconnaissance de l'extention .java et .c (dans ton cas) soient installés. Sans ceux-là, il te faudra tout (re)programmer.

    Note : ce bout de code est général, il permet d'ouvrir n'importe quel fichier dont l'extension est reconnu par un module existant et chargé.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Merci pour la réponse,

    j'ai essayé le code que vous m'avez donné sans succès.
    J'ai rajouté toute les dépendances nécessaire pour pouvoir utiliser les classes que vous appelez dans votre code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     private static void openFile(String file) throws DataObjectNotFoundException{
            System.out.println("attempt to open the file "+file+" in editor");
            FileObject fob = FileUtil.toFileObject(FileUtil.normalizeFile(new File(file))); 
            if (fob != null) { 
                  DataObject dob = DataObject.find (fob); 
                  OpenCookie oc = (OpenCookie) dob.getCookie (OpenCookie.class); 
                  if (oc != null) {
                      oc.open(); 
                      System.out.println("open is called");
                  }    
            }
     
     
        }
    voici ce que donne ce code : attempt to open the file test.c in editor.

    Le second system.out.println n'est pas appelé, et aucun editeur de text ne s'ouvre.

    Deplus, chose qui peut etre importante, je ne peux pas créer de nouveau fichier dans l'edi lancé quand je test mon module, (peut etre une dépendance manquante, mais laquelle dans ce cas ? )

    Je suis vraiment désolé de ne pas pouvoir cerner le problème, il faut dire que l' infrastructure de netbeans est assez complexe et je n'ai aucune formation préalable. ( si ce n'est en programmation java basique ).

    enfin, quand vous parlez de module permettant la reconnaissance de l'extension .c et .java, avez vous les noms de ces modules ?

    Bien à vous et merci pour le temps que vous consacrez à mon problème.

  7. #7
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    Le message ne s'affiche pas car l'implémentation de OpenCookie n'est pas trouvé dans le "dob" resultant: ajoutes une trace avant le "if != null"...

    Reprennons,
    1. tu télécharges des fichiers .java et .c.
    2. tu les stockes dans un emplacement du disque (de l'utilisateur par exemple)
    3. tu les ouvres dans l'E.D.I. avec toutes les fonctionnalités que tu as actuellement avec NetBeans.

    Le type .java et .c sont reconnus par le module qui leur correspond. Pour .java, c'est l'EDI de base (comme .properties, par exemple), et pour le .c, c'est le plug-in d'extension pour c qui le reconnait. Sans ces modules, il te faudra implémenter leur reconnaissance. Dans ce cas, se sera "ré-inventer la roue"... On notera en passant que c'est également valable pour les types reconnus par ton E.D.I. actuellement (par exemple le plug-in PHP reconnait .php, sans lui .php veut rien dire et NetBeans ne sait que faire).

    Compile ton module et execute-le (installe-le) dans ton E.D.I. directement, celui que tu utilises pour créer, pas dans une platform "à coté". Le .java sera reconnu correctement. Le .c sera reconnu si tu as le plug in de développement C.

    Si tu veux ajouter à l'application platform que tu développes, il te faurdra ajouter les deux modules java et c à l'installation.

    Note : pour désinstaller les deux modules dans ton E.D.I. il te faudra redémarrer ton éditeur.

    J'oubliais... l'ouverture, il faut la faire pour les deux fichiers... Si déjà tu arrives à faire pour .java, ben pour .c tu sais quoi faire...

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Merci pour cette réponse et votre intérêt.
    String file , ne contenait pas le chemin correct menant aux fichiers que je voulais ouvrir.

    Les .c et .java s'ouvrent à la perfection maintenant.
    Mon projet à fait un bon bond en avant ,
    J'arriverai peut être à le finir dans les temps grâce à vous.

    Merci beaucoup !


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/06/2008, 13h23
  2. Lier des fichiers sources dans plusieurs assemblies
    Par despeludo dans le forum Framework .NET
    Réponses: 2
    Dernier message: 15/12/2007, 22h41
  3. Xemacs - ouvrir des fichiers depuis l'exporateur dans une même frame
    Par GhostNemo dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 07/05/2007, 00h50
  4. ouvrir des fichiers dans un repertoire
    Par Art19 dans le forum Delphi
    Réponses: 5
    Dernier message: 10/04/2007, 14h49
  5. [PDF] Ouvrir des fichiers PDF dans page Web
    Par ludoweb dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 07/09/2006, 08h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo