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

SWT/JFace Java Discussion :

XML editor jface/swt


Sujet :

SWT/JFace Java

  1. #1
    Membre régulier Avatar de maelstrom
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 108
    Points : 120
    Points
    120
    Par défaut XML editor jface/swt
    Bonjour,

    Je suis en train de développer une application et je souhaiterais lui ajouter un éditeur de XML. Comme je ne souhaites pas réinventer la poudre je me demandais s'il existait des éditeurs déjà tout fait et simple à intégrer. Je souhaiterais qu'il soit en SWT/JFace si possible, mais je pourrais aussi me débrouiller avec de l'AWT. Je souhaiterais quand même cependant pouvoir adapter cet éditeur par rapport à un XSD définit.

    Voici ma configuration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    		CTabFolder tabFolder = new CTabFolder(parent, SWT.BORDER | SWT.BOTTOM);
    		tabFolder.setSelectionBackground(Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT));
     
            /**
             * Editor part
             */
     
    		CTabItem tbtmSource = new CTabItem(tabFolder, SWT.NONE);
    		tbtmSource.setText("Source");
     
    //              XMLEditor
     
            /**
             * Design part
             */
    		CTabItem tbtmDesign = new CTabItem(tabFolder, SWT.NONE);
    		tbtmDesign.setText("Design");
     
    		Composite composite = new Composite(tabFolder, SWT.EMBEDDED);
    		tbtmDesign.setControl(composite);
     
    		Frame frame = SWT_AWT.new_Frame(composite);
     
    		Panel panel = new Panel();
    		graph = new Graphic2dDesigner(this);
    		frame.add(panel);
    		frame.add(graph);
    		panel.setLayout(new BorderLayout(0, 0));
     
    		JRootPane rootPane = new JRootPane();
    		panel.add(rootPane);
     
            tabFolder.setSelection(tbtmSource);
    Merci d'avance pour vos conseils
    Madness ? THIS IS JAVA !!!
    SPARTAN ! What is your programming language ? JAVA ! JAVA ! JAVA !
    Code well, code readable, code in Allman style !

    N'oubliez pas de cliquer sur si ce commentaire vous a été utile et aussi sur si cela a... résolu ton problème !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    C'est quoi le contexte ? Une application Eclipse RCP 3.x, RCP 4.x, SWT sans RCP ? A priori RCP, vu tes messages précédent et la mention EditorPart dans ton code. As-tu besoin d'enrichir l'éditeur (de faire un éditeur personalisé), ou l'éditeur standard Eclipse suffit-il ?

    Pour ouvrir un xml dans l'éditeur standard en Ecllpse RCP 3.x, voir ici https://wiki.eclipse.org/FAQ_How_do_...ogrammatically
    Je pense que ça fonctionne en E4 mais je ne peux dire s'il y a un moyen plus spécifique.

    La classe est org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart (plugin org.eclipse.wst.xml.ui): ça peut être une base pour faire ton propre éditeur, mais c'est une classe internal, donc déconseillée à étendre.

    Pour mettre en place un éditeur dans une application RCP (extension org.eclipse.ui.editor) : http://www.vogella.com/tutorials/Ecl...s/article.html

    Pour faire ton propre éditeur personnalisé, il y a un article très complet ici, avec justement un éditeur xml ici.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre régulier Avatar de maelstrom
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 108
    Points : 120
    Points
    120
    Par défaut
    Alors effectivement c'est bien dans le cadre d'une application Eclipse RCP, mais RCP 4 pure. Je ne souhaite pas entendre parlé de compatibility layer ou autre avec la version 3.X.

    J'ai besoin d'un éditeur XML tout simple, je veux juste pouvoir lui attribuer un XSD.

    Concernant ton premier lien, je tombe sur une page avec "There is currently no text in this page." donc cela ne m'aide pas trop ^^'

    Pour le reste, toutes tes propositions sont basé sur RCP 3 et donc non compatible avec ce que je veux faire (car en fait sans entrer trop dans les détail sa me demanderais de mélanger du RCP 3 et 4 à l’intérieur d'une même part et donc pas trop possible).

    Cependant si je post ici, c'est parce que je veux laisser de côté cette histoire de RCP. Je veux un moyen d'inclure un éditeur de XML avec SWT/Jface comme si c'était dans une application sans RCP. Car là je dois mettre l'éditeur dans CTabItem qui ne prend que des Component, je peux m'arranger avec de l'AWT comme on le voit avec la partie design (oui quand je part dans les commentaires ça ne correspond en rien a rcp).
    Madness ? THIS IS JAVA !!!
    SPARTAN ! What is your programming language ? JAVA ! JAVA ! JAVA !
    Code well, code readable, code in Allman style !

    N'oubliez pas de cliquer sur si ce commentaire vous a été utile et aussi sur si cela a... résolu ton problème !

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par maelstrom Voir le message
    Alors effectivement c'est bien dans le cadre d'une application Eclipse RCP, mais RCP 4 pure. Je ne souhaite pas entendre parlé de compatibility layer ou autre avec la version 3.X.
    Je n'ai pas parlé de Compatibility Layer : de nombreuses extensions créées pour E3 fonctionnent encore en E4, sans Compatibility Layer. Mais effectivement, je ne peux dire s'il y a des spécificités E4 pour les éditeurs (par exemple, en utilisant l'injection).

    Citation Envoyé par maelstrom Voir le message
    J'ai besoin d'un éditeur XML tout simple, je veux juste pouvoir lui attribuer un XSD.
    Ouais enfin un éditeur XML avec respect d'un XSD c'est déjà plus un éditeur tout simple (en tout cas, il n'y a pas de widget de base).
    Citation Envoyé par maelstrom Voir le message
    Concernant ton premier lien, je tombe sur une page avec "There is currently no text in this page." donc cela ne m'aide pas trop ^^'
    Ouais, il y a un problème avec l'URL de cette page : essaye ça https://wiki.eclipse.org/FAQ_How_do_...ammatically%3F

    Citation Envoyé par maelstrom Voir le message
    Pour le reste, toutes tes propositions sont basé sur RCP 3 et donc non compatible avec ce que je veux faire (car en fait sans entrer trop dans les détail sa me demanderais de mélanger du RCP 3 et 4 à l’intérieur d'une même part et donc pas trop possible).
    M'enfin la classe TextEditor n'est ni spécialement E3 ou E4, c'est un plugin JFace... Et les extensions utilisables en E3 ne sont pas toutes incompatibles avec E4 (mais s'il est vrai que je ne peux être affirmatif sur le cas spécifique des éditeurs qui reposent probablement sur l'injection en E4).

    Cependant si je post ici, c'est parce que je veux laisser de côté cette histoire de RCP. Je veux un moyen d'inclure un éditeur de XML avec SWT/Jface comme si c'était dans une application sans RCP. Car là je dois mettre l'éditeur dans CTabItem qui ne prend que des Component, je peux m'arranger avec de l'AWT comme on le voit avec la partie design (oui quand je part dans les commentaires ça ne correspond en rien a rcp).
    Bah, je ne connais pas de widget, ni SWT, ni JFace, ni Nebula, ni Opal, qui font ça directement (Je connais bien des plugins, comme Rhinzo ou Vex). Ensuite, si tu as un éditeur XML en AWT qui te convient, tu peux l'utiliser si tu veux, sinon il faut étendre TextEditor comme indiqué dans le dernier lien que je t'ai fourni (dont tout ne concerne pas RCP d'ailleurs).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre régulier Avatar de maelstrom
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 108
    Points : 120
    Points
    120
    Par défaut
    Bon pour l'instant je vais me concentrer sur le problème le plus important, avoir un editeur XML tout court tout simple. Concernant ton lien je te confirme que ce n'est plus possible en RCP 4, car on a plus accès à tout ce qui est Workbench, PlatformUI, ça ne marche plus comme ça (et c'est à la fois tout ce qui fait le sel de RCP 4 car il simplifie les choses, mais aussi tout le problème car du coup on en perde l'accès).

    J'en ai trouvé des Éditeur XML qui étendais TextEditor (notamment grâce à eclipse qui en fournit un dans ces Extension Wizard). Mais après le problème c'est que j'en fais quoi ? Car moi là j'ai besoin de quelque chose qui étende Component comme un StyledText afin que je puisse le mettre dans mon CTabItem, or ce n'est pas du tout le cas de XMLEditor (la classe principal que nous fournit Eclipse). Mon problème c'est que je ne sais pas quoi faire de cette classe en fait (c'est pour cela que je cherche des solutions alternatives).
    Madness ? THIS IS JAVA !!!
    SPARTAN ! What is your programming language ? JAVA ! JAVA ! JAVA !
    Code well, code readable, code in Allman style !

    N'oubliez pas de cliquer sur si ce commentaire vous a été utile et aussi sur si cela a... résolu ton problème !

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Tu veux faire un MPart alors que le TextEditor est un EditorPart, c'est ça ton souci ? Ce qui nécessite effectivement de passer par le compatibility layer (en indiquant comme class uri, dans le e4xmi, bundleclass:org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor, une classe d'un plugin e3 en l’occurrence), mais pas de faire appel à PlatformUI ou Workbench (sauf erreur de ma part).

    Mais à part ça, si en plus tu veux être indépendant non seulement de E3, mais de RCP aussi, le widget SWT adapté le plus évolué que je connaisse c'est le StyledText, ce qui, pour en faire un éditeur XML demande pas mal de boulot. Enfin, tout dépend du niveau de l'éditeur, mais j'imagine avec un minimum de complétion (ou content assist) par rapport au xsd, et signalement des erreurs par rapport au xsd, mais peut-être pas de colorisation ou de fermeture de balise automatique, d'édition inline, de templating, de outline, etc, sans parler des actions classiques (comme la recherche avec highlighting, le copier/coller spécifique, l'undo/redo, etc).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre régulier Avatar de maelstrom
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 108
    Points : 120
    Points
    120
    Par défaut
    Bah en fait le problème c'est que ma part est séparé en deux parties. Une appelé Source ou il y aura l'éditeur, et une autre appelé Design (qui est une partie graphique, que j'ai déjà entièrement réalisé), ces deux parties sous séparé sous la forme de deux onglets en bas (CTabFolder) comme on peut le retrouver sous eclipse (avec WindowBuilder par exemple).

    donc ma Part se présente sous cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    @PostConstruct
    	public void createControls(Composite parent)
    	{
    		EditorFrame.setEditorFocused(this);
     
    		CTabFolder tabFolder = new CTabFolder(parent, SWT.BORDER | SWT.BOTTOM);
    		tabFolder.setSelectionBackground(Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT));
     
             /**
             * Source part
             */
     
    		CTabItem tbtmSource = new CTabItem(tabFolder, SWT.NONE);
    		tbtmSource.setText("Source");
     
                    Composite composite_1 = new Composite(tabFolder, SWT.EMBEDDED);
                    tbtmSource.setControl(composite_1);
     
                    Frame frame_1 = SWT_AWT.new_Frame(composite_1);
     
                    Panel panel_1 = new Panel();
                    editorPane = new JEditorPane();
                    editorPane.setEditorKit(new XMLEditorKit()); //Donc ceci est un visualisateur XML en AWT que j'ai trouvé, mais qui ne satisfaisait pas à nos envie (c'était surtout pour tester)
                    editorPane.setEditable(true);
     
                    frame_1.add(panel_1);
                    frame_1.add(editorPane);
                    panel_1.setLayout(new BorderLayout(0, 0));
     
                    JRootPane rootPane_1 = new JRootPane();
                    panel_1.add(rootPane_1);
     
            /**
             * Design part
             */
    		CTabItem tbtmDesign = new CTabItem(tabFolder, SWT.NONE);
    		tbtmDesign.setText("Design");
     
    		Composite composite = new Composite(tabFolder, SWT.EMBEDDED);
    		tbtmDesign.setControl(composite);
     
    		Frame frame = SWT_AWT.new_Frame(composite);
     
    		Panel panel = new Panel();
    		graph = new Graphic2dDesigner(this);
    		frame.add(panel);
    		frame.add(graph);
    		panel.setLayout(new BorderLayout(0, 0));
     
    		JRootPane rootPane = new JRootPane();
    		panel.add(rootPane);
     
                    tabFolder.setSelection(tbtmSource);
    	}
    voici deux images du résultat actuel
    Source : http://img15.hostingpics.net/pics/221739Capture.png (ceci est juste un visualiseur on ne peut écrire dedans).
    Design : http://img15.hostingpics.net/pics/825590Capture1.png

    Donc je vois mal comment ajouter de l'e3 là-dedans même avec le compatibility layer. Le but est évidemment d'avoir le moins de développement possible, je n'ai évidemment pas le temps de développer un éditeur XML de A à Z moi-même (si déjà on pouvait juste avoir une colorisation correct ce serait très bien). Il n'existe pas déjà des travaux (open source et libre) qui ont été réaliser sur le StyledText pour le transformer en éditeur de XML ? Sinon en connais-tu un en AWT peut-être ?
    Madness ? THIS IS JAVA !!!
    SPARTAN ! What is your programming language ? JAVA ! JAVA ! JAVA !
    Code well, code readable, code in Allman style !

    N'oubliez pas de cliquer sur si ce commentaire vous a été utile et aussi sur si cela a... résolu ton problème !

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par maelstrom Voir le message
    Bah en fait le problème c'est que ma part est séparé en deux parties. Une appelé Source ou il y aura l'éditeur, et une autre appelé Design (qui est une partie graphique, que j'ai déjà entièrement réalisé), ces deux parties sous séparé sous la forme de deux onglets en bas (CTabFolder) comme on peut le retrouver sous eclipse (avec WindowBuilder par exemple).
    Oui, je comprends le problème. Pour l'avoir fait en E3, on procède dans l'autre sens : on ajoute des onglets au MultiPart. Et évidemment, on ne peut pas mettre un EditorPart comme onglet dans un CTabFolder (tout comme on ne pourrait pas le mettre dans un MultiPart d'ailleurs).

    Citation Envoyé par maelstrom Voir le message
    Donc je vois mal comment ajouter de l'e3 là-dedans même avec le compatibility layer. Le but est évidemment d'avoir le moins de développement possible, je n'ai évidemment pas le temps de développer un éditeur XML de A à Z moi-même (si déjà on pouvait juste avoir une colorisation correct ce serait très bien). Il n'existe pas déjà des travaux (open source et libre) qui ont été réaliser sur le StyledText pour le transformer en éditeur de XML ? Sinon en connais-tu un en AWT peut-être ?
    Pour AWT, une recherche google fait apparaître pas mal de projets, mais je n'en ai pratiqué aucun, donc je ne peux te conseiller sur l'un ou l'autre.
    Pour avoir fait différent composant à partir du StyledText, je peux te guider à ce sujet, ou même de fournir du code exemple, mais c'est à chaque fois du spécifique :
    • j'ai fait un visualisateur (read only donc) de xml avec colorisation simple, incluant une interaction avec un système de recherche (highlighting). Le code, tu peux le reprendre directement (à part changer les couleurs si tu veux) sans adaptation. En revanche, il y a une transformation du xml pour clarifier l'affichage qui sera gênante pour un mode éditeur
    • J'ai fait un éditeur de fragment html avec colorisation. De mémoire, j'ai séparé la partie générique d'une partie spécifique, que tu ne pourras reprendre telle quelle, mais qui peux te servir d'exemple (elle est liée surtout aux préférences). Il y a des liens avec Tidy et Jericho mais on peut facilement couper : en tout cas, ce n'est pas le parsing qui est fait par un automate à état. Bon c'est html, mais ce n'est pas très différent du xml (à part qu'il sera plus permissif sur les balises, ce qui pour un éditeur n'est pas plus mal)


    Le premier composant est plus ancien. Le nouveau est plus récent (j'ai récrit des trucs de façon plus structurés) mais beaucoup plus basique (surtout que comme c'est un éditeur, il peut coloriser du html incomplet, mais dans certaines limites acceptables/acceptées = je ne gère pas 100% du html, et 100% des cas tordus qu'on peut avoir dans un html partiel incomplet). Il y aussi pas mal de dépendances par rapport à des classes d'utilitaires (que je ne peux te donner sans effet pelote de laine, mais qui ne sont pas très compliquées à réécrire, et que je peux te donner partie par partie au besoin). Tout est en Java 1.5.

    En revanche, je n'ai pas le temps d'extraire la partie qui t'intéresse de tout le reste (les deux sont dans un contexte fonctionnel plus large).

    Les screenshots du premier :

    Nom : Capture 1.PNG
Affichages : 575
Taille : 24,5 Ko
    Nom : Capture 2.PNG
Affichages : 523
Taille : 27,3 Ko
    Nom : Capture 3.PNG
Affichages : 531
Taille : 27,6 Ko
    Nom : Capture 4.PNG
Affichages : 540
Taille : 25,5 Ko

    Le screenshot du second :
    Nom : Capture 5.PNG
Affichages : 505
Taille : 9,9 Ko
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre régulier Avatar de maelstrom
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 108
    Points : 120
    Points
    120
    Par défaut
    J'ai pour l'instant opté pour la solution de l'AWT, j'ai donc utilisé l'outil editorkit de org.apache.batik. J'ai donc ajouté les bons plugins et fait mon code comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    @PostConstruct
    	public void createControls(Composite parent)
    	{
    		EditorFrame.setEditorFocused(this);
     
    		CTabFolder tabFolder = new CTabFolder(parent, SWT.BORDER | SWT.BOTTOM);
    		tabFolder.setSelectionBackground(Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT));
     
    		CTabItem tbtmSource = new CTabItem(tabFolder, SWT.NONE);
    		tbtmSource.setText("Source");
     
            Composite composite_1 = new Composite(tabFolder, SWT.EMBEDDED);
            tbtmSource.setControl(composite_1);
     
            Frame frame_1 = SWT_AWT.new_Frame(composite_1);
     
            Panel panel_1 = new Panel();
            editorPane = new JEditorPane();
            editorPane.setEditorKitForContentType(XMLEditorKit.XML_MIME_TYPE, new XMLEditorKit());
            editorPane.setContentType(XMLEditorKit.XML_MIME_TYPE);
     
            frame_1.add(panel_1);
            frame_1.add(editorPane);
            panel_1.setLayout(new BorderLayout(0, 0));
     
            JRootPane rootPane_1 = new JRootPane();
            panel_1.add(rootPane_1);
     
            /**
             * Design part
             */
    		CTabItem tbtmDesign = new CTabItem(tabFolder, SWT.NONE);
    		tbtmDesign.setText("Design");
     
    		Composite composite = new Composite(tabFolder, SWT.EMBEDDED);
    		tbtmDesign.setControl(composite);
     
    		Frame frame = SWT_AWT.new_Frame(composite);
     
    		Panel panel = new Panel();
    		graph = new Graphic2dDesigner(this);
    		frame.add(panel);
    		frame.add(graph);
    		panel.setLayout(new BorderLayout(0, 0));
     
    		JRootPane rootPane = new JRootPane();
    		panel.add(rootPane);
     
            tabFolder.setSelection(tbtmSource);
    	}
    Cependant je tombe sur une erreur (bon c'est une erreur lié à RCP, mais je post quand même ici car je sais que tu t'y connais ^^'). J'ai une Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/batik/xml/XMLUtilities" et plus loin "Caused by: java.lang.ClassNotFoundException: org.apache.batik.xml.XMLUtilities cannot be found by org.apache.batik.util.gui_1.7.0.v200903091627".

    Ce que je ne comprends pas c'est que j'ai bien vérifié le jar lié à cette class est bien dans mes Plug-in Dependencies, il est bien présent dans mon Manifest.MF, je l'ai bien rajouté dans mes required Plug ins dans l'onglet dependencies de mon plugin.xml. Avant de lancer l'application je suis bien allé dans eclipse -> run configuration -> Plug-ins -> Add required plug-ins (j'ai vérifié le plug in est bien coché). Je ne comprend donc pas pourquoi il ne me le trouve pas.

    (les deux plug-ins: org.apache.batik.util.gui et org.apache.batik.xml sont bien présent comme je l'ai dit juste au-dessus).

    Une idée de quoi cela peut provenir ?
    Madness ? THIS IS JAVA !!!
    SPARTAN ! What is your programming language ? JAVA ! JAVA ! JAVA !
    Code well, code readable, code in Allman style !

    N'oubliez pas de cliquer sur si ce commentaire vous a été utile et aussi sur si cela a... résolu ton problème !

Discussions similaires

  1. utiliser jface/swt pour les interfaces
    Par redenil dans le forum Débuter
    Réponses: 4
    Dernier message: 09/05/2009, 00h34
  2. Patterns pour Jface/Swt (treeViewer et tableViewer)
    Par papaetoo dans le forum Design Patterns
    Réponses: 0
    Dernier message: 23/04/2009, 17h43
  3. Web page Editor JSP SWT Eclipse
    Par jad_jad dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/07/2008, 16h33
  4. Visual editor pour SWT
    Par ender91 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 16/09/2007, 21h50

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