Jaxe, votre éditeur XML
Jaxe, votre éditeur XML
Entrée du siteSommairePage pour l'impression<-->

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).

Page précédentePage suivante