Recherche :

Premier Pas avec JavaFX

JavaFX est une famille de produits pour la création de RIA "rich internet application" ou application riche pour Internet.

Il s'agit en effet de simplifier grandement la création de contenu graphique. Par exemple, le contenu graphique nécessite actuellement beaucoup de source Java construit à partir des composants Swing, Selon Sun le même contenu peut être mis en ½uvre en quelques lignes de JavaFX Script.

Des effets tels que l'animation, les changements de tailles, la traduction et la transparence, sont tous disponibles avec un langage plus simple, déclarative.

Pour Sun et le monde Java, les RIA passent par JavaFX

JavaFX comprend :

1-JavaFX Runtime permettant aux applications JavaFX de s'exécuter sur toutes les plateformes disposant de Java SE ou Java ME. Il offre la possibilité d'avoir un client riche sur de multiples plateformes, écrans et terminaux comme par exemple :

-JavaFX Desktop : navigateurs et applications
-JavaFX Mobile
-JavaFX TV
-Autre ...

2-JavaFX Tools Suite : un ensemble d'utilitaires utilisables par les concepteurs, designers et développeurs de Web pour la création des applications riches et interactives "rich interactive applications". Plusieurs outils pour les développeurs et concepteurs, notamment des plug-ins pour Netbeans et Eclipse.

Les Produits :

Pour l'instant

1-JavaFX Script, nouveau langage de script à utiliser par exemple pour la création de composants Swing plus facilement

2-JavaFX Mobile est l'environnement pour les plateformes "mobile" qui supportent JavaFX

1. Avantages de JavaFX

1.Basé sur Java (Java SE et ME)
2.Utilisable sur tous les écrans : navigateurs, mobile, TV, etc.
3.Open Source
4.Déploiement sur navigateur et ordinateur de bureau "Desktop" sans modification
5.Collaboration designers et développeurs
6.Possibilité d'intégrer des codes en Java et JavaFX
7.Moins de code pour générer une interface et des composants graphiques
8.JavaFX est une sorte de plateforme universelle qui repose sur Java SE et Java ME

Source de l'image "Sun Microsystems"

2. Et pour les développeurs ?

-Plug-in pour Netbeans

-Plug-in pour Eclipse

-OpenJFX compiler
le compilateur traduit les scripts JavaFX en bytecode (classes pour la JVM)

-JavaFX SDK : logiciel et utilitaire nécessaire à la création des applications pour JavaFX
La version JavaFX SDK "Preview Release", est attendue en juillet 2008

3. Netbeans plug-in pour JavaFX

Le JavaFx script plug-in pour Netbeans permet de créer, tester, déboguer et déployer une application écrite en langage JavaFX script

Le plug-in de Netbeans 6.1 est basé sur OpenJFX

Source de l�image : netbeans.org

4. Installation du Plug-in sur Netbeans 6.1

Télécharger le plug-in sur le site de netbeans.org
Décompresser le fichier (zip ou gz)

5. Lancer Netbeans

Tools > Plugins

6. Ajouter Plug-in

Onglet Downloaded -> clic sur Add Plugins

Naviguer vers le dossier créé lors de décompression du fichier .zip ou .gz sélectionner tous les fichiers .nbm puis -> clic sur "OK"

7. Installer

Une liste détaillant les composants de plug-in est affichée -> un clic sur "Install"

Suivre les instructions de l'installateur
Redémarrer Netbeans

8. Tester un petit code JavaFX dans Netbeans

Lancer netbeans -> double clic sur son icône (Linux et Windows)

9. Nouveau projet

File (dans la barre des menus) -> New Project

10. Sélectionner un projet JavaFX

11. Cliquer sur Finish ou personnaliser :

Par exemple le nom et la location du projet. Garder les options "Set as Main Project" et "Create Main File" cochées.

12. Entrer le code :

Netbeans se charge de créer le squelette nécessaire pour ce projet JavaFX et ouvre l'éditeur pour entrer des instructions en JavaFX script

13. Premier exemple :

Bonjour le monde :

Entrons le code suivant pour afficher un container frame avec Bonjour le monde dans une étiquette "Label" :

/**
* @author Kaesar ALNIJRES
*/

import javafx.ui.*;

Frame {
title: "Tester JavaFX"
visible: true
content:
Label
{
text: "Bonjour le monde !!!"
}
}

14. Exécuter le code :

Un clic sur l'icône "Run" lancer la compilation et l'exécution du projet

15. L'assistant de Netbeans

-CTRL+ESPACE affiche des proposions pour compléter le code à l'emplacement du curseur

-Le bouton "Preview" permet de voir le résultant immédiatement quand on entre le code et sans compilation

-La palette permet un glisser déplacer "Drag and drop" pour ajouter des composants, couleurs, formes, etc. Dans le source.

16. Deuxième exemple :

Entrons le code suivant :

Ce code affiche un "Bonjour le monde !!! " dans un Canavas quand on clique sur un bouton, le bouton est dans un frame

Note : La structure des composants UI est le même que pour les applications Swing

/**
* @author Kaesar ALNIJRES
*/
import javafx.ext.swing.*;
import javafx.scene.Font;
import javafx.scene.text.Text;
import java.lang.*;
import javax.swing.*;

Frame {
var phrase:String
var frame:Frame
title: "Tester JavaFX"
height: 300
width: 400
visible: true
content:
BorderPanel {
center:
Canvas {
content:
Text {
x: 50
y: 125
content: bind phrase
}
}
bottom:
FlowPanel {
content:
Button {
text: "Cliquer ici"
action:
function():Void {
// The button was clicked
phrase = "Bonjour le monde !!!";
System.out.println("Bonjour le monde !!!")
}
}


}
}
}

17. Exécuter le code :

Un clic sur le bouton "Run" va compiler le projet "Main project" et exécuter "Main class"

18. Installation du Plug-in sur Eclipse :

Installation sur Eclipse 3.3.2 :
=====================

Lancer Eclipse
Help > Software Updates > Find and Install

19. Search for New Features to Install

Search for New Features to Install (dans l'onglet Install/Update) -> Next

20. Sélectionner un site pour télécharger le plug-in

Un clic sur le bouton "New Remote Site".

21. Entrer un nom pour le site et l'URL

Dans la boîte de dialogue qui s'ouvre : entrer JavaFX dans "Name" et l'Url
Un Clic sur OK.
Puis un clic sur Finish

Note :
L'Url change vite. Visitez les sites JavaFX pour connaître les derniers plug-ins et leurs Urls
Au moment de l'écriture du tutoriel j'ai téléchargé le plug-in sur le site :

http://download.java.net/general/openjfx/plugins/eclipse/site.xml

22. Indiquer le site à rechercher

Sélectionner JavaFX -> clic sur Next

23. Validez la licence :

Un clic sur Next

24. Install

Dans l'onglet "Install"

Un Clic Finish

Note : Il est possible de choisir l'endroit de l'installation

25. Vérification :

Dans l'onglet "Verification"

Un clic sur Install All

26. Redémarrer Eclipse

Pour finir l'installation redémarrer Eclipse

27. Installation du Plug-in dans Eclipse 3.4

Un clic sur Help-> Software Updates

28. Ajouter un site :

Un clic sur l'onglet Available Software -> un clic sur le bouton Add Site

29. Entrer l'Url du site

Note :

L'adresse est la même pour les Plug-Ins d'Eclipse

30. Sélectionner JavaFX

Dans l�onglet Software Updates and Add-ons
Sélectionner JavaFX

31. Confirmer l'installation

Un clic sur Next

32. Valider la licence

Un clic sur Finish

33. Redémarrer Eclipse

Redémarrer Eclipse

Pour terminer l'installation

34. Développer un programme JavaFX avec Eclipse

Nouveau projet :

File -> new -> Java project

Note : Attention !!!
Minimum Eclipse 3.2.2 et JDK 5.0 (de préférence JDK 6 ou sup)

35. New Java Project

Entrer le nom du projet et la version du JRE
Puis "Finish"

Note : Attention !!! JDK 5 ou sup

36. Ajouter un fichier JavaFX

Sélectionner le projet nouvellement créé -> File -> New -> Other -> JavaFX -> JavaFX File -> Next

Note :
Un fichier JavaFX a .fx comme extension

37. Nommer le fichier JavaFX avec l'extension .fx

Entrer le nom du fichier par exemple "bonjour.fx" -> un clic sur "Finish"

Note : Sélectionner le dossier du projet java et le dossier "src"

38. L'Editeur JavaFX d'Eclipse

Note : les libraires de JavaFX sont ajoutées automatiquement dans le projet avec le nouveau fichier .fx

Entrons le premier exemple introduit là-haut :

/**
* @author Kaesar ALNIJRES
*/

import javafx.ui.*;

Frame {
title: "Tester JavaFX"
visible: true
content:
Label
{
text: "Bonjour le monde !!!"
}
}

39. Exécuter le code dans Eclipse :

-On commence par créer une nouvelle configuration de lancement Eclipse

-Un clic droit sur le fichier "bonjour.fx" -> Run as -> Run configuration -> Double clic sur JavaFX Application -> New Application est créée (ou bien clic droit sur JavaFX Application -> new)->donner un nom à cette New Application comme par exemple BonjourJavaFX

40. Spécifier les Arguments

Dans l'onglet Arguments "bonjour" comme le nom du fichier "bonjour.fx" -> un clic sur Apply -> un clic sur Run

41. Résultat dans Eclipse :

Dans Eclipse l'affichage suivant

42. L'assistant d'Eclipse

CTRL+SPACE permet d'afficher des proposions pour compléter le code sous le curseur

Exemple les données de couleur de label sont sélectionnées et entrées avec l'assistant

Label
{
background:Color {
blue: 255
}
text: "Bonjour le monde !!!"
}

43. Une petite comparaison Swing, JavaFX

Pour afficher un bouton à l'intérieur d'une Jframe avec
Swing
=====

import javax.swing.*;

/**
*
* @author kas
*/
public class Main extends JFrame{
public Main()
{
JButton button = new JButton("cliquer ici");
getContentPane().add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
SwingUtilities.invokeLater(new Runnable() {
public void run()
{
Main test = new Main();
}
});
}

}

44. Faire la même chose avec JavaFX

Frame {
title: "Tester JavaFX"
visible: true
content:
Panel {
Button {
text: "Cliquer ici"
}


}
}

45. Utiliser le compilateur OpenJFX de Sun

Compiler un fichier source :

Les instructions données ici sont exécutées sur un système Linux. L'adaptation sur une version de Windows se passe de commentaire :-)

Télécharger le compilateur pour JavaFX "OpenJFX" sur le site de Sun

Décompresser le fichier .zip dans un dossier.
J'ai décompressé le fichier .zip dans le dossier "/home/kas/OPENJFX-SUN-COMPILER/")

Les dossiers suivants sont créés :

bin
demos
doc
lib

46. Créer un dossier pour les besoins de test

Par "exemple test_javafx" avec "mkdir test_javafx"

47. Ajouter un fichier JavaFX

Par exemple "bonjour.fx" dans le dossier du test "test_javafx"

import javafx.ui.*;

Frame {
title: "Tester JavaFX"
visible: true
content:
Label
{
text: "Bonjour le monde !!!"
}
}

48. Dans un terminal

Taper les commandes suivantes : (utilisateur ordinaire)

$ export PATH=$PATH:/home/kas/OPENJFX-SUN-COMPILER/bin
$ javafxc -d test_javafx test_javafx/bonjour.fx
$ javafx -cp test_javafx bonjour

Et voilà ça marche sans problèmes

Note :
-Il faut vérifier que javafxc et javafx ont l'attribut exécutable (dans l'exemple, ils sont dans le dossier
"/home/kas/OPENJFX-SUN-COMPILER/bin " )

Sinon chmod u+x javafx javafxc

-Dans la commande "javafxc -d test_javafx test_javafx/bonjour.fx " penser à mettre le dossier de l'exercice

-Si on oublie -cp et le dossier de l'exercice (les classes générées sont maintenant dedans) dans la commande :

" javafx -cp test_javafx bonjour" on est de suite rappelé à l'ordre avec le fameux message "java.lang.ClassNotFoundException"

49. Sites Web :

http://openjfx.java.sun.com
http://wiki.netbeans.org/JavaFXPlugin
http://java.sun.com/javafx
http://javafx.netbeans.org/
https://openjfx.dev.java.net/javafx-eclipse-plugin-install.html
http://developers.sun.com

Programmez! n° 133
Le numéro 133 de Programmez! est disponible en kiosque.





Proposer un tutoriel
Vous souhaitez partagez vos connaissances avec les membres de Programmez! Publiez vos tutoriels.

L'auteur
ka (Kaesar ALNIJRES)

Développeur Java - Manager Web



http://www.iipt.fr

De A à Z
Programmez.com - 2010 - Tous droits réservés
Développement - WEB - ASP - PHP - C++ - Delphi - Java - Magazines - Ressources - Forum - Télécharger - Video - Emploi - Campus - .Net - Tutoriels

Le portail du décideur informatique en entreprise : Solutions & Logiciels