JavaFX Script (pour l'histoire)

Ce langage peut être utilisé dans des applets intégrées à des pages Web ou dans des applications Java. Il est concis et sert à définir visuellement une interface graphique et à l'associer aux fonctions de l'application.

Sur la base du langage F3 (Form Follow Function), racheté en 2005, Sun a développé JavaFX Script, un langage déclaratif destiné à décrire des interfaces graphiques, pour le framework JavaFX. Ce langage entre en concurrence avec XUL et XAML mais sa syntaxe le rapproche de JavaScript, tandis que le framework JavaFX, dont la version 1.0 est publiée en décembre 2008, est lui concurrent de Adobe AIR et Silverlight, autres frameworks pour applications Web.
Destiné à concevoir des GUIs, il dispose de fonctionnalités pour associer les composants aux données de l'application et donc synchronizer l'interface avec les données et sa syntaxe est cinq fois plus concise que celle de Java.
Il veut combiner le texte enrichi, le graphisme, les animations, l'audio et la vidéo.

Mise à jour 2011. JavaFX Script n'est plus supporté depuis JavaFX 2.0 et doit être considéré comme obsolète. Java à été revendu par Sun à Oracle.

Caractéristiques du langage

Syntaxe

La syntaxe procédurale est similaire à celle de JavaScript. La syntaxe déclarative s'appuie sur l'API du framework JavaFX pour décrire facilement une interface.

Déclaration d'une fonction:

function display()
{
    println("Hello!");
}

Sans type de retour:

function display() : Void
{
    println("Hello!");
}

Tableau:

var myArray = [ 1, 2, 3, 4 ]

Objet JavaFX et JavaFX Script:

Stage {   
    title: "Déclarer est facile!"    
    width: 320    
    height: 240    
    visible: true  
}  

L'objet Stage permet de définir une fenêtre. On ajoute un titre et les dimensions.

La même déclaration écrite sous forme procédurale:

var myStage:Stage = new Stage();
myStage.title = "Déclarer est facile!";
myStage.width = 320;
myStage.height = 240; myStage.visible = true;

Exemples

Hello world!

Stage { 
  scene: Scene {
    content: Text  
    {
        font: Font  {
            size: 24
        }
        x: 10
        y: 30
        content: "Hello World!"
    }
 }
}

Afficher le contenu d'un tableau.

var arr = [ 1, 2, 3, 4, 5]

for(x in arr)
{
   println(x);
}