Author: jcouteau Date: 2010-05-07 10:52:07 +0200 (Fri, 07 May 2010) New Revision: 1879 Url: http://nuiton.org/repositories/revision/jaxx/1879 Log: Add Helloworld tutorial Added: trunk/src/site/resources/tutos/ trunk/src/site/resources/tutos/helloworld.png trunk/src/site/resources/tutos/helloworld.zip trunk/src/site/rst/tutos/ trunk/src/site/rst/tutos/helloworld.rst Modified: trunk/src/site/site_fr.xml Added: trunk/src/site/resources/tutos/helloworld.png =================================================================== (Binary files differ) Property changes on: trunk/src/site/resources/tutos/helloworld.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/src/site/resources/tutos/helloworld.zip =================================================================== (Binary files differ) Property changes on: trunk/src/site/resources/tutos/helloworld.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/src/site/rst/tutos/helloworld.rst =================================================================== --- trunk/src/site/rst/tutos/helloworld.rst (rev 0) +++ trunk/src/site/rst/tutos/helloworld.rst 2010-05-07 08:52:07 UTC (rev 1879) @@ -0,0 +1,146 @@ +Hello World +=========== + +Dans ce tutoriel, nous allons créer une fenêtre qui affiche le message +"Hello World". Jaxx s'utilise par défaut avec le gestionnaire de +dépendances/projet Maven. Nous supposons dans la suite de ce tutoriel que vous +savez utiliser Maven. + +Créer un projet Maven/configuration de JAXX +------------------------------------------- + +Nous allons commencer par créer un projet Maven simple, qui aura comme unique +source un fichier jaxx. + +Dans le pom.xml, il faut configurer les repository nuiton pour pouvoir +bénéficier de JAXX et de son plugin Maven:: + + <repositories> + + <!-- nuiton releases repository, needed to get jaxx --> + + <repository> + <id>nuiton.release</id> + <name>NuitonReleaseRepository</name> + <url>http://maven.nuiton.org/release</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + <checksumPolicy>warn</checksumPolicy> + </releases> + </repository> + + </repositories> + + <pluginRepositories> + + <!-- nuiton plugin releases repository, needed to get jaxx plugin --> + + <pluginRepository> + + <id>nuiton.release</id> + <name>NuitonReleaseRepository</name> + <url>http://maven.nuiton.org/release</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + <checksumPolicy>warn</checksumPolicy> + </releases> + </pluginRepository> + + </pluginRepositories> + +Il est aussi nécessaire d'ajouter la dépendance vers la librairie JAXX pour +la compilation et l'exécution:: + + <dependencies> + + <!-- librairie Jaxx --> + <dependency> + <groupId>org.nuiton.jaxx</groupId> + <artifactId>jaxx-runtime</artifactId> + <version>2.0.1</version> + <scope>compile</scope> + </dependency> + + </dependencies> + +Nous allons configurer aussi le plugin Maven pour la génération depuis les +fichiers JAXX:: + + <build> + <plugins> + + <plugin> + <groupId>org.nuiton.jaxx</groupId> + <artifactId>maven-jaxx-plugin</artifactId> + <version>2.0.1</version> + <executions> + <execution> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + + </plugins> + </build> + +Le plugin JAXX doit être dans la même version que jaxx-runtime. Il faut +spécifier l'exécution du goal generate du plugin pour que le fichier JAXX soit +transformé en fichier Java. + +Pour les autres plugins, je vous laisse les configurer seuls, il s'agit juste +de configurer maven-compiler plugins pour compiler les sources en version 1.5, +et maven-jar-plugin et maven-dependency-plugin pour rendre le jar exécutable. +Pour ceux qui ne sauraient pas comment faire cela, je vous laisse regarder un +oeil aux sources disponibles au téléchargement en bas de cette page. + +Le fichier JAXX +--------------- + +Maintenant que le projet est configuré.Nous allons commencer par créer un +fichier JAXX nommé helloworld.jaxx que nous placerons dans le package de notre +choix (dans l'exemple, c'est org.nuiton.jaxx.tutos.helloworld mais libre à vous +d'adapter) :: + + <Application title='Hello World'> + <JLabel text='Hello World'/> + </Application> + +Ce fichier Jaxx est très simple, il va créer une Application helloworld qui +étends une JFrame qui aura pour titre "Hello World" et placera dedans un +JLabel "Hello World". + +Une fois que tout est créé, on se place à la racine du projet et on le build +avec la commande :: + + mvn compile + +Cela aura pour effet de créer notre jar exécutable si tous les plugins ont bien +été configurés. + +On peut alors le lancer et on obtient le résultat suivant: + +.. image::helloworld.png + +Conclusion +---------- + +Ce tutoriel vous a appris comment créer simplement une petite application Swing, +très simple au demeurant, en utilisant seulement 3 lignes de code Jaxx. Dans les +tutoriels suivant vous allez découvrir comment réaliser des applications +dynamiques beaucoup plus complexes. + +Sources de ce tutoriel +---------------------- + +Les sources de ce tutoriel sont disponibles au `telechargement ici`_. + +.. _telechargement ici::helloworld.zip + Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2010-05-05 13:35:08 UTC (rev 1878) +++ trunk/src/site/site_fr.xml 2010-05-07 08:52:07 UTC (rev 1879) @@ -53,11 +53,14 @@ <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 name="Les scripts JAXX" href="scripting.html"/> + <item name="Le data-binding" href="dataBinding.html"/> <item name="Utiliser des styles" href="useStylesheets.html"/> - <item name="Le data-binding" href="dataBinding.html"/> - <item name="Les scripts JAXX" href="scripting.html"/> </item> <item name="Démo" href="demo.html"/> + <item name="Tutoriels"> + <item name="Hello World" href="tutos/helloWorld.html"/> + </item> </menu> <menu name="Ancienne documentation">