Primo approccio

Volendo lavorare con javaFX, sono andato sul sito omonimo, mi sono scaricato quanto c'é da scaricare, e sono passato al tutorial get started disponibile sul sito della sun.

Al lavoro, dunque.

Mi sono creato un progetto JavaFX su NetBeans, e un file al suo interno, con la piccola variazione, rispetto a quanto detto nel tutorial, di mettere il file non del default package (orrore!) ma in un apposito package che ho chiamato fxTut.

Il codice sorgente del mio primo file fx é pari pari quanto indicato dal tutorial, pur non avendo mai visto prima nulla scritto in questo linguaggio, le precedenti esperienze in java e perl, tanto per fare un paio di nomi, rendono il codice comprensibile.

Noto che dai linguaggi di scripting fx ha ereditato la mancanza di un main. Il codice viene semplicemente eseguito dalla prima riga in giù.

Molte le somiglianze con java, a partire dalla prima riga, la dichiarazione del package contenente il file (beh, questa é anche l'unica differenza tra il mio codice e quello standard del tutorial).

def evidentemente introduce una costante, var una variabile. Noto che anche qui ci si discosta da java e ci si richiama ai liguaggi di scripting, dato che non c'é tipizzazione esplicita degli oggetti.

Noto infine la println(), un ibrido tra la println java e le funzionalità di stampa dei linguaggi di scripting, con le parentesi graffe a fare da escape per i nomi delle variabili i cui valori vogliamo stampare.

package fxTut;

def numOne = 100;
def numTwo = 2;
var result;

add();
subtract();
multiply();
divide();

function add() {
result = numOne + numTwo;
println("{numOne} + {numTwo} = {result}");
}

function subtract() {
result = numOne - numTwo;
println("{numOne} - {numTwo} = {result}");
}

function multiply() {
result = numOne * numTwo;
println("{numOne} * {numTwo} = {result}");
}

function divide() {
result = numOne / numTwo;
println("{numOne} / {numTwo} = {result}");
}

Fatto correre con un F6 il programma all'interno di Netbeans ottengo il risultato atteso.

Come da tutorial, mi guardo l'esecuzione del mio programma anche da shell. Vado perciò nella directory build del mio progetto ed eseguo:

javafx fxTut.Calc

Dove javafx é la JVM estesa di FX, eseguibile che mi trovo nel bin di javafx-sdk, fxTut é il nome del package dove ho messo il mio codice, Calc é il nome della mio file fx (il sorgente era Calc.fx, qui troviamo il bytecode java Calc.class, l'estensione class non viene esplicitata quando si passa il file alla macchina virtuale, come da solite convenzioni java).

Fatto tutto a modo, il risultato é quello atteso, anche se non esattamente esaltante.

Nessun commento:

Posta un commento