Javafx

From Isiwiki

Jump to: navigation, search

Contents

[edit] Fiche d'identité de JAVAFX

  • Initiateur: Sun Microsystems
  • Début: 2007
  • Status: en open source depuis mai 2007
  • Type de programmation: Langage déclaratif de script pour générer des interfaces graphiques. La description de l'interface graphique se fait par spécification d'une hiérarchie de composants graphiques . Les actions sont décrites avec le langage style java'. Ces spécifications sont ensuite compilées en java code.
  • Runtime: la JVM; il est donc possible d'avoir des applets ou des applications (Java web start pour un déploiement depuis Internet)

[edit] exemple

Dans le plugins de Javafx, on trouve un ensemble d'exemples. L'exemple sur l' application pour afficher la météo avec une soure sur Internet (yahoo) est bon pour se faire une idée sur la complexité du langage et sur l'interactivité des interfaces proposées par Javafx.

une interaction simple--une application pour afficher la météo avec une soure sur Internet

Pour exemple, nous avons choisi un exemple du tutorial qui compte le nombre de clic sur un bouton. On voit bien l'aspect déclaratif du langage. En utilisant awt ou swing, on aurait utiliser une grande quantité de new et .add et de .set pour obtenir le même résultat. Il est intéressant de voir comment l'action est associée au bouton (chercher action dans le code). Les accolades {} prennent le sens de EVAL().

package javafxapplication1;
import javafx.ui.*;
   class ButtonClickModel {attribute numClicks: Number;}
       var model = new ButtonClickModel();
       Frame {
           width: 200
           content: GridPanel {
               border: EmptyBorder {
                  top: 30
                  left: 30
                  bottom: 30
                  right: 30
               }
               rows: 2
               columns: 1
               vgap: 10
               cells:
               [Button {
                    text: "I'm a button!"
                    mnemonic: I
                    action: operation() {
                        model.numClicks++;
                   }
               },
               Label {
                   text: bind "Number of button clicks: {model.numClicks}"
               }]
           }
           visible: true
       };

[edit] ressource

[edit] environnement de développement

[edit] exemples

la galerie des exemple de flex.org vaut le détour!galerie des exemple de flex.org

un joli projet sur les "scenes graph"

Personal tools