Jaxe, votre éditeur XML
Jaxe, votre éditeur XML

Documentation pour les développeurs
• Introduction
• Utilisation de Jaxe au sein d'une autre application
• Création de nouveaux éléments Jaxe
• Ajout d'une fonction

# Utilisation de Jaxe au sein d'une autre application

Auteur: Damien Guillaume

La classe de lancement de Jaxe est (sans surprise) `jaxe.Jaxe`. Cette classe rassemble la gestion des évènements externes à l'application (ouverture de fichier, fermeture, etc...), et on peut donc y jeter un œil pour voir comment un nouveau document Jaxe est créé ou comment un document est ouvert.

Une autre classe importante est `jaxe.JaxeFrame`. Cette classe correspond à une fenêtre de document XML. Elle utilise la classe `jaxe.JaxeMenuBar` pour la gestion de la barre de menus, celle-ci étant malheureusement (à cause d'une limitation de Java) liée à la fenêtre.

Le plus simple, pour utiliser Jaxe dans une autre application, est probablement de se servir de la classe `jaxe.JaxeTextPane`, qui correspond à la zone de texte dans la fenêtre XML. Comme cette classe est dérivée de `java.swing.JTextPane`, elle peut facilement être ajoutée où on le souhaite selon le layout de l'application hôte. Le constructeur requiert un `JaxeDocument` (lié au DOM) et une `JFrame` (la fenêtre parent).

L'objet de classe `jaxe.JaxeDocument` doit être initialisé avec un fichier de configuration de Jaxe (géré par la classe `jaxe.Config`) et éventuellement avec un fichier XML ou avec un objet DOM.

Pour récapituler, voilà une série d'instructions permettant d'incorporer une zone de texte Jaxe dans un `Container` `parent` se trouvant dans une fenêtre `frame`:

    JaxeDocument jaxeDoc = new JaxeDocument("monlangage_config.xml");
    JaxeTextPane jaxeTextPane = new JaxeTextPane(jaxeDoc, frame);
    jaxeDoc.lire(urlFichierXML);
    // ou jaxeDoc.setDOMDoc(documentDOM);
    parent.add(jaxeTextPane);

Les éléments peuvent être insérés avec le menu contextuel, ou avec des actions `jaxe.ActionInsertionBalise`. Le constructeur de `ActionInsertionBalise` demande le document Jaxe, et l'élément DOM correspondant à la définition de l'élément dans le fichier de configuration de Jaxe.

On peut plus tard enregistrer le document avec la méthode `JaxeDocument.ecrire(File f)`.