Author: jcouteau Date: 2010-04-27 17:11:09 +0200 (Tue, 27 Apr 2010) New Revision: 1855 Log: Start new Documentation : presentation + basics Added: trunk/src/site/rst/JAXXFile.rst trunk/src/site/rst/presentation.rst trunk/src/site/rst/useSwingObjects.rst Modified: trunk/src/site/site_fr.xml Added: trunk/src/site/rst/JAXXFile.rst =================================================================== --- trunk/src/site/rst/JAXXFile.rst (rev 0) +++ trunk/src/site/rst/JAXXFile.rst 2010-04-27 15:11:09 UTC (rev 1855) @@ -0,0 +1,24 @@ +============================== +Qu'est-ce qu'un fichier JAXX ? +============================== + +Un fichier JAXX est un fichier XML. Le tag racine de votre fichier JAXX est le +composant qui va être généré. Par exemple, un fichier myJaxxComponent.jaxx comme +ceci:: + + <JPanel id='myPanelId'> + </JPanel> + +Ce code va générer une classe myJaxxComponent.java qui étends JPanel et +implémente JAXXObject. + +Maintenant, si on souhaite ajouter des composants à l'intérieur de ce panel, +il suffit de rajouter un fils à l'élément JPanel :: + + <JPanel id='myPanelId'> + <JButton id='myButton'/> + </JPanel> + +Ce code va générer un JPanel qui contient un JButton nommé myButton. On peut +maintenant jouer avec l'arborescence de notre fichier JAXX pour créer simplement +des interfaces complexes. \ No newline at end of file Added: trunk/src/site/rst/presentation.rst =================================================================== --- trunk/src/site/rst/presentation.rst (rev 0) +++ trunk/src/site/rst/presentation.rst 2010-04-27 15:11:09 UTC (rev 1855) @@ -0,0 +1,25 @@ +============ +Présentation +============ + +Qu'est-ce que JAXX ? +-------------------- + +JAXX est un framework de création d'interfaces utilisateur Swing libre en XML +automatisant un certain nombre de mécanismes complexes de Swing. En effet, qui +ne s'est pas arraché les cheveux sur des layouts managers trop complexes, des +classes internes anonymes à répétition et des bidouillages bas-niveau pour +réaliser une interface utilisateur, certes magnifique, mais à quel prix. + +JAXX se base sur XML qui permet de décrire les interfaces en gardant le principe +d'arbre et d'inclusion de composants sans se préocupper des classes internes, +du style, des layouts,... + +Pourquoi utiliser JAXX au lieu de Swing ? +----------------------------------------- + +- Les fichiers XML ont naturellement une structure d'arbre. Les tags contiennent des tags, tout comme les composants contiennent des composants. +- JAXX gère les évènements et le data binding pour vous. Plus besoin de créer de classes anonymes à la main pour gérer les évènements. +- La gestion des CSS vous permet de séparer le fond de la forme, et de changer l'aspect de votre programme en changeant juste de feuille de style. +- Les fichiers JAXX sont bien plus courts et faciles à comprendre que le code Java équivalent. +- La balise <Table> fournit la puissance du GridBagLayout en en simplifiant l'utilisation. \ No newline at end of file Added: trunk/src/site/rst/useSwingObjects.rst =================================================================== --- trunk/src/site/rst/useSwingObjects.rst (rev 0) +++ trunk/src/site/rst/useSwingObjects.rst 2010-04-27 15:11:09 UTC (rev 1855) @@ -0,0 +1,36 @@ +========================= +Utiliser les objets Swing +========================= + +Dans JAXX, comme nous générons des interfaces Swing, il est possible d'utiliser +directement les objets Swing. Par exemple, si je veux créer un JPanel Swing, +j'utilise le tag <JPanel> si je veux créer un JButton Swing, j'utilise le tag +<JButton>, et ainsi de suite. Tous les objets Swing sont ainsi disponible +aisément sans avoir besoin de déclarer des imports dans le fichier JAXX. + +Pour configurer ces objets Swing, il suffit de leur passer en attribut la valeur +souhaitée. Par exemple, si je veux créer un JButton qui a le texte 'Valider' et +qui appelle une méthode statique MyApplication.validate(), j'écris le code JAXX +suivant :: + + <JButton id='myButton' + text='Valider' + onActionPerformed='{org.my.package.MyApplication.validate()}'/> + </JButton> + +Propriétés +---------- + +Pour généraliser, un attribut myAttribute sera passé en paramètre de la méthode +setMyAttribute. Dans notre cas, le JButton myButton sera créé, puis on +effectuera l'appel de méthode suivant : **myButton.setText("Valider")**. + +Evenements +---------- + +De même, pour les évènements, il est possible de déclarer des méthodes écoutant +les évènements créés par un objet Swing. Ainsi un attribut onMyAction sera +appelé lors d'un appel à la méthode fireMyAction de l'objet Swing. Dans le cas +de notre JButton, la méthode **org.my.package.MyApplication.validate()** sera +appelée lorsqu'un évènement de type ActionEvent sera créé par la méthode +fireActionPerformed du JButton. \ No newline at end of file Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2010-04-26 16:06:36 UTC (rev 1854) +++ trunk/src/site/site_fr.xml 2010-04-27 15:11:09 UTC (rev 1855) @@ -49,6 +49,11 @@ <menu name="Utilisateur"> <item name="Accueil" href="index.html"/> + <item name="Présentation/Concept" href="presentation.html"/> + <item name="Qu'est-ce qu'un fichier JAXX ?" href="JAXXFile.html"/> + <item name="Fonctionalités de base"> + <item name="Utiliser les objets Swing" href="useSwingObjects.html"/> + </item> <item name="Migration JAXX 2.0" href="migration.html"/> </menu>