JAVAFX - adelyounes/Tutorial-SMB2014-and-Wiki GitHub Wiki

Presentation de JAVAFX

Plan


  • Présentation de JavaFX
  • Solutions concurrentes
  • Introduction à JavaFX Script
  • JavaFX SDK Pre 1.0
  • Le projet Nile et WidgetFX
  • Démonstration
  • Le projet Nile
  • Présentation lors de la JavaOne 2007
  • Développement de RIA et RDA
  • Permet de créer facilement des interfaces riches : JavaFX Script + SDK Cible les développeurs mais aussi les designers

S’intègre très bien avec JavaSE et JavaME

Déploiement via un JAR exécutable ou via Java Web Start ou encore via un Applet


Les solutions concurrentes

  • Adobe Flex/AIR 1- Développement RIA : Flex 2-Développement RDA : AIR

  • Basé sur la technologie Flash : plugin flash

  • Conception d'interfaces riches en XML.

    Environnement de développement

1- Eclipse via le plugin Flex Builder : environ 250$

Compatible avec les outils classiques de design

1- Photoshop : environ 700$

2- Illustrator : environ 600$

Microsoft Silverlight

1-Essentiellement RIA

2-Possibilité de faire des RDA

3- Nécessite le plugin Silverlight (ou Moonlight sur linux)

4-Conception d'interfaces riches en XML (plus particulièrement XAML)

Environnement de développement

  • Visual Studio : environ 500$

  • Compatible avec Microsoft Expression Web

  • Environ 300$

AJAX

  • Uniquement RIA

  • JavaScript + XML + CSS

  • De nombreux frameworks

1- Dojo

2- ZK

3- GWT

  • Pas d'environnement de développement

-Simples éditeurs avec coloration dans Eclipse


Géomètre Caractéristiques JavaFX

Nous faisons cela en décrivant plusieurs des packages et les classes les plus couramment utilisés dans le SDK JavaFX API .

  • Le paquet contient javafx.stage :

1- La classe Stage , qui est le plus haut niveau de la hiérarchie interface de confinement pour toute L'application JavaFX , peu importe où il est déployé (comme le bureau , un navigateur, ou un téléphone cellulaire ).

2- La classe Screen , qui représente les voyants de la machine dans laquelle une JavaFX programme est en cours d'exécution . Cela vous permet d'obtenir des informations sur les écrans , tels que la taille et la résolution. Le paquet contient javafx.scene certaines classes que vous utilisez le plus souvent :

3- La classe Scene est le deuxième niveau de la hiérarchie interface de confinement pour JavaFX applications . Il comprend tous les éléments de l'interface utilisateur contenus dans la demande . ces éléments sont appelés nœuds graphiques , ou tout simplement nœuds.

4- La classe Node est la classe de base de tous les nœuds graphiques en JavaFX , l'assurance-chômage éléments tels que du texte , des images , des médias , des formes et des contrôles ( tels que les zones de texte et boutons ) sont tous des sous-classes de nœud . Prenez un moment pour examiner les variables et fonctions de la classe Node pour apprécier les capacités fournies à l'ensemble de ses sous-classes , y compris le calcul des limites et de la souris et du clavier événement manipulation.

5- La classe Group est une sous-classe de la classe Node dont l'objectif comprend groupement noeuds ensemble dans un espace unique de coordonner et permettant des transformations (comme faire tourner ) à appliquer à l'ensemble du groupe . En outre , les attributs du groupe qui sont changé (comme opacité ) s'appliquent à tous les nœuds contenus dans le groupe . Plusieurs paquets commencent par javafx.scene qui contient le sous-classes de noeud de divers types. pourexemple : *Le paquet javafx.scene.image contient l'image et ImageView classes, qui activer les images à afficher dans la scène . La classe ImageView est une sous-classe de Nœud.

6- Le paquet javafx.scene.shape contient plusieurs classes pour dessiner des formes telles comme Cercle, Rectangle , ligne , polygone , et de l'Arc . La classe de base des formes , nommé Forme, contient un attribut nommé remplissage qui vous permet de spécifier une couleur ou gradient qui pour remplir la forme.

7- Le paquet javafx.scene.text contient la classe de texte pour dessiner du texte dans la scène . La classe Font permet de spécifier le nom et la taille de la police du texte .

8- Le paquet javafx.scene.media a des classes qui vous permettent de lire des médias . la MediaView classe est une sous-classe de Node qui affiche les médias.

9- Le paquet javafx.scene.chart a des classes qui vous permettent de zone , de bar de créer facilement ,bulle , ligne , tarte, et les nuages ​​de points . Les classes de l'interface utilisateur correspondant à ce paquet sont AreaChart , Barres , BubbleChart LineChart , PieChart et ScatterChart.


Exemple de programme

class HelloWorldModel {

attribute saying: String;

}

var model = HelloWorldModel {

saying: "Hello World"

};

var win = Frame {

title: bind "{model.saying} JavaFX"

width: 200

content: TextField {

value: bind model.saying

}

visible: true

};

Typage statique

var myVar = "Hello";

myVar = 123; //erreur

** Les types de JavaFX**

1- String

2- Boolean

3- Number

4-Integer

5-Void

var s :String = "World";

s.toUpperCase(); // renvoie "WORLD";

var x :Number = 3.50;

x.intValue(); // renvoie 1

(3.50).intValue(); // renvoie 3

var isTrue = true;

isTrue instanceof Boolean; // renvoie true

Des tableaux

var nums = [1,2,3,4];

insert 5 into nums; //renvoie [1,2,3,4,5]

insert 0 as first into nums; //renvoie [0,1,2,3,4,5]

insert [6,7] as last into nums; //renvoie [0,1,2,3,4,5,6,7]

var workingDays = ["Mon","Tue","Wed","Thur","Fri"];

var weekDays = [workingDays, ["Sat","Sun"]];


Fonctions et Opérations

1- Requêtes SQL sur un tableau var answer:Integer = select x from x in [1..10] where (x%2 == 0);

// renvoie [2,4,6,8,10]

operation substring(s:String, n:Number):

String {

try {

return s.substring(n);

}

catch (e:StringIndexOutOfBoundsException){

throw "sorry, index out of bounds";

}

} function myFunction(a,b) {

var x = a + b;

var y = a - b;

return x + y;

}


Un langage de script efficace

1- Traitement rapide : sur les tableaux notamment

2- Inspiré de Perl?

** Classes, héritage, encapsulation, packages**

1- Programmation objet

2-Efficace et maintenable

3-Le développeur Java n'est pas dépaysé

JavaFX SDK

*JavaFX SDK Preview 1.0

1- Animation : timeline, keyframe

2- UI Components : composants Swing

3- Effects : flou, ombres portée, éclairage,…

4-Media : Player video/son, codec.

Le projet Nile & WidgetFX

  • Le projet Nile*

Plugin Photoshop/Illustrator 1- Moteur SVG

2- Permet d'exporter une maquette au format .fx ou .fxd

3- Un outil faisant le liant entre le développeur et le designer

WidgetFX

-Plateforme desktop

1- Exécution de Widgets écris en JavaFX Script.

1- Cross-platforme

2- Widgets déployés avec JWS

  • Encore en version 0.1

Conclusion

Avantages

1- Conception rapide d'interfaces graphiques

2- S'intègre parfaitement à Java

-Applet

  • JWS

Standalone application

1- Cross-Platforme

2-Une communauté déjà conséquente

Inconvénients

1- Technologie encore jeune

2-Pas de release de référence

3-IDE -> Netbeans

4-Difficilement intégrable en entreprise

5-Workflow Developper-Designer interressant mais pas encore à la hauteur de la concurrence.


références:

Pro javaFX2.

Presentation de javafx.