Lezione in Laboratorio 3

Martedì, 18 Dicembre 2007

OBIETTIVI DELLA LEZIONE

In questa lezione completeremo e discuteremo eventuali esercizi rimasti irrisolti dalle scorse esercitazioni.

GUI in Java

Lo sviluppo di una GUI in Java è argomento fondamentale per comprendere appieno le potenzialità di Java, ma le dimensioni del nostro corso non permettono di affrontare questo argomento.

Per orientarvi nello studio personale, tenete presente che esistono due grandi famiglie di componenti grafici in Java.

I componenti Java AWT (Abstract Windowing Toolkit) sono quelli presenti nel linguaggio dalle origini e dipendono dalle capacità grafiche della piattaforma utente. Quindi, cambiando la piattaforma su cui un applicazione viene eseguita, l'aspetto dell'applicazione cambia di conseguenza. Per questo motivo sono anche detti componenti "pesanti".

Dalla versione 2 (1.2) di Java in poi, sono stati introdotti nel linguaggio anche i componenti Swing, che sono scritti completamente in Java. Per questo motivo hanno pressoché la stessa struttura grafica su qualunque piattaforma e sono anche detti componenti "leggeri". Al di là delle semplificazioni, i componenti Swing estendono componenti AWT da cui dipendono (quindi bisogna padroneggiare entrambe le gerarchie di classi).

Anche per Java, come per altri linguaggi, esistono alcuni GUI editor. Ad esempio, all'interno del progetto di sviluppo di Eclipse, esiste il progetto "Visual Editor": http://www.eclipse.org/vep/WebContent/main.php. Il progetto è maturo e supporta completamente i controlli AWT e Swing, ma lo sviluppo del progetto nell'ultimo anno è stato quasi sospeso. Trovate una breve (anche se obsoleta) introduzione all'URL: http://www.ibm.com/developerworks/library/os-ecvisual/. Alternative valide per Eclipse sono Jigloo (gratuito per uso non commerciale), WindowBuilder (commerciale / gratuita una versione limitata)

Utilizzando invece l'IDE NetBeans si può utilizzare l'ottimo editor di GUI "Matisse", che al momento è probabilmente il più completo e performante in ambito opensource.

Note per il server HTTP

Per invocare da Java l'eseguibile php-cgi.exe con il metodo GET dovete impostare (esempio):

set "QUERY_STRING=add1=3&add2=1"
set REQUEST_METHOD=GET
set REDIRECT_STATUS="200 OK"
set "SCRIPT_FILENAME=C:\Programmi\EasyPHP 2.0b1\www\somma.php"

e quindi invocare semplicemente php-cgi.exe. Per il metodo POST:

set CONTENT_LENGTH=13
set REQUEST_METHOD=POST
set REDIRECT_STATUS="200 OK"
set "SCRIPT_FILENAME=C:\Programmi\EasyPHP 2.0b1\www\somma.php"

Inoltre dovete, prima di invocare php-cgi.exe, redirigere sullo standard input del processo che state invocando il contenuto del corpo della richiesta (in questo caso: add1=3&add2=1).

©2007 Roberto Sassi