Posts tagged: javafx

JavaFX…installa e via !!!

Come argomento del periodo, oltre a Symbian, mi piace trattare quello di JavaFX…il nuovo linguaggio che permette di creare applicazioni in modo rapido..prendendo spunto da un articolo trovato in rete, ho voluto testare alcuni componenti che permettono lo sviluppo di applicazioni JavaFX. In particolare, mi riferisco all’installazione del plugin di JavaFX per eclipse e il test di un semplicissimo programmino. La versione di eclipse è la 3.2.2 -attualmente esiste una versione più recente che è Europa-, e il JDK è 1.5. Si parte. Dal menù Help->Software Updates->Manage Configurations aggiungete una nuova entry per il download del plugin, e come indirizzo usate questo:

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

eclipse1

 

Selezionato il nodo JavaFx e procedete con l’installazione.

 

eclipse2

 

Al termine del download installate tutto e terminate.

 

eclipse4

 

Benissimo, a questo punto cominciamo il lavoro divertente. Creiamo un nuovo progetto Java (Java Project) che non ha niente a che fare con JavaFX, almeno per ora. Anche perchè, se guardate bene, non riuscirete a trovare alcun progetto JavaFX nel menù di creazione dei nuovi progetti. Fatto questo, tasto destro sul nome del progetto, New->Others e selezionato JavaFX File.

 

eclipse6

 

Scegliamo il nome del file, ad esempio devme.fx, e notiamo che il file appena creato ci viene aperto in edit-mode. Da qui possiamo scrivere il nostro codice, io ad esempio, ho costruito un piccolo programmino che crea un Frame dentro il quale compare un messaggio, come segue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import javafx.ui.*;
    Frame {
        title: "Hello World - DevME - "
        width: 300
        height: 100
        content: Box {
            content:
            [Label {
                text: "Hello World - DevMe"
                toolTipText: "Tool tip"
                font: Font {
                    size: 18
                }
                border: EmptyBorder {
                    top: 10
                    left: 10
                }
                background: Color {
                    blue: 255
                    green: 255
                    red: 255
                }
            }]
        }
        visible: true
    }

Dopo di che, possiamo eseguire la nostra applicazione per vedere se fa quello che desideriamo. Per eseguire un’applicazione JavaFX dovremmo creare una nuova Launch Configuration dal menù Run di eclipse, in particolare sarà un nuovo RUN JavaFX Application.

 

eclipse7

 

Nella dialog specifichiamo il nome del progetto nel tab Main e non dimentichiamoci di aggiungere nel tab Argument, il nome del file contenente il codice FX, nel nostro caso devme (senza estensione).

 

eclipse11

 

L’aggiunta dell’argomento da passare al programma è necessaria dal momento che la configurazione creata possiede come Main Class la shell di FX e questo implica che per ogni file da eseguire si dovrà creare una configurazione di run ad-hoc. Ed infine ecco quello che otteniamo se lanciamo il programma.

 

eclipse10

 

Il plugin che ho testato non fa una piega, funziona perfettamente. L’unica cosa che il context-assist non è così performante come funziona in Java classic, e magari il fatto di dover creare una run configruation per ogni file del progetto potrebbe essere una seccatura. L’articolo che ho letto parlava di NetBeans come IDE di riferimento, e apparentemente si riusciva a fare tutto quello che abbiamo fatto noi nel nostro esempio.

Java FX

l2_javafxtransparencySono vivo, sono vivo..sono sparito solo x un pò di tempo causa GROSSI impegni di lavoro….ma siamo quasi alla fine…siamo allo sprint finale, e poi ….? E poi cosa !?!? Ancora dell’altro lavoro, ovviamente…si sgobba alla grande. Durante la conferenza JavaOne di San Francisco, Sun Microsystems ha annunciato un nuovo ambiente di scripting Java e una nuova piattaforma di strumenti e software, dedicati allo sviluppo di Rich Internet application (RIA) per un ampio utilizzo, dai cellulari al desktop. La nuova suite di prodotti si chiama JavaFX. Java FX Script è un linguaggio di scripting che permette lo sviluppo di interfacce grafiche avanzate, mentre Java FX Mobile è un ambiente operativo per lo sviluppo di applicazione per sistemi mobile costruito intorno a Linux e Java. Java FX utilizza una sintassi dichiarativa per lo sviluppo dei componenti grafici, in questo modo la specifica del codice corrisponde esattamente in modo conciso con il layout della GUI. Il linguaggio fa uso in modo intensivo di Java2D swing per lo sviluppo dei componenti grafici. Il nuovo linguaggio sviluppato da Sun mira dunque a conquistare il terreno di AJAX e Flash, permettendo con maggiore facilità la creazione di applicazioni per la rete e, nella sua variante mobile, per i dispositivi mobili, con l’immediato beneficio di poter essere eseguito da subito dalla moltitudine di piattaforme già pronte (ma si parla solo di pc, per i cellulari sarà indispensabile installare il software apposito). Al momento JavaFX è stato distribuito in versione alpha e per il futuro è già pianificata l’introduzione di strumenti per il controllo, widgets ed altri tool. Ma vediamo un esempio di come è fatto un semplice programma che crea un componente grafico ….molto molto semplice.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.lang.System;
/* Code */
var frame = new JFrame();
var button = new JButton("Press me");
    frame.getContentPane().add(button);
    button.addActionListener(new ActionListener() {
        operation actionPerformed(event) {
        System.out.println("You pressed me");
    }
});
frame.pack();
frame.setVisible(true);

Come si può vedere il codice importa classi Java, crea oggetti, richiama dei metodi e implementa delle interfacce. Non è necessario creare classi in modo formale così come lo impone lo standard di sviluppo delle classi. Eseguendo il codice di sopra, quello che si ottiene è il risultato della figura seguente:
frame.png
Un modo analogo più conciso e preferibile per lo sviluppo della stessa interfaccia di sopra è il seguente:

1
2
3
4
5
6
7
8
9
Frame { 
    content: Button { 
    text: "Press Me"
    action: operation() {
        System.out.println("You pressed me");
    }
}
visible: true 
}

diciamo che questo caso è più JavaFX. Questo è quanto volevo raccontare, diciamo che con la versione alpha non so a che livello di affidabilità è JavaFX (che per inciso si pronuncia Java eff-ect-s), a quanto se ne parla si possono fare veramente i numeri con le interfacce grafiche, scrivendo pochissimo codice…ovviamente data la natura di Java, questo può essere eseguito su molte piattaforme. Vi rimando ai siti della SUN per farvi un idea più approfondita e per vedere nel dettaglio le specifiche del linguaggio. Ci sono anche degli altri esempi con demo molto interessanti.

WordPress Themes