MokaByte
Numero 10 - Luglio 1997
|
|||
|
|
||
Antonino S. Cutri' |
Il tool, scritto interamente in Java, per creare interfaccie utente per le IFC | ||
Introduzione
Uno degli aspetti piu' onerosi durante la realizzazione di software che sfrutti le moderne interfaccie grafiche e' stato sempre quello della costruzione dell'interfaccia utente. Anche le IFC non sfuggono a questa regola, e difatti, costruire manualmente le varie finestre e' un compito oneroso e che distoglie il programmatore dal suo lavoro naturale. Per venirci incontro la Netscape ha reso disponibile per il download il suo Netscape Constructor. Questo tool, scritto interamente in Java e con l'ausilio delle IFC, permette di disegnare visualmente le varie finestre necessarie, rendendo, tutta l'operazione semplicissima permettendoci in tal modo di concentrarci solamente sul nostro programma.
Benche' il Constructor ci permetta di aumentare di fatto la nostra produttivita' non risolve tutti i problemi, difatti esso non e' un tool RAD, cioe' non crea il codice sorgente necessario, ma piuttosto un file che potremmo, molto sommariamente, considerarlo alla stregua di un file risorse Windows, che contiene le informazioni necessarie per poter riscostruire i componenti utilizzati all'interno del nostro programma.
Installazione ed esecuzione
L'archvio, in formato ZIP o TAR, contentene il Netscape Constructor puo' essere scaricato dal sito http://developer.netscape.com/library/ifc/ , per funzionare correttamente nella nostra macchina deve essere presente lo JDK versione 1.02 o superiore (benche', come avverte la documentazione allegata, con la recente 1.1.1 ci possono essere alcuni problemi, soprattutto durante il ridisegno dello schermo) e le Internet Foundation Classes versione 1.1.
Dopo aver estratto i contenuti dal file compresso ci troveremo sotto constructor10b3 le directory:
Descrizione
Dopo il caricamento
il Netscape Constructor si presenta nel seguente modo (Figura 1.1):
(clicca sulla figura per vederne la versione ingrandita in formato JPEG - 648 x 547, 67k -) |
notiamo che possiamo
suddividere idalmente la finestra in 7 zone (Figura 1.2):
1 | 2 | |
3
|
4 | |
5 | ||
6 |
7 |
dove troviamo, rispettivamente:
Come abbiamo accennato nell'introduzione il Constructor per ogni nostro progetto genera un file che contiene la descrizione dei componenti disegnati, questo file ha come estensione planb o plana, la differenza tra i due formati sta nel fatto che il primo e' un formato binario, quindi compatto e piu' veloce da leggere, mentre il secondo e' un formato ASCII e puo' essere utilizzato, ad esempio, per studiare come sono memorizzati i componenti.
Per accedere agli oggetti memorizzati all'interno del file plan bisogna includere, nella propria applicazione/applet, il package netscape.constructor (aggiunto alle IFC solo nella loro ultima revisione, la 1.1) che mette a disposizione, tra le altre cose, una classe plan che serve proprio per la lettura/scrittura del file generato col Constructor.
Costruiamo una finestra
Costruiamo adesso una semplice finestra con qualche componente al suo interno, ecco i passi da seguire:
Visualizziamo la finestra dalla nostra applicazione
Per poter visualizzare la nostra finestra dovremo prima creare un oggeto Plan aprire il file creato dal constructor e richiamare la finestra che abbiamo memorizzato, il listato java che effettua tutte queste operazioni e' il seguente.
import netscape.application.*;Per scaricare l'archivio contenente il file che abbiamo generato in questo articolo (finestra.planb), il programma Java di esempio sia in formato sorgente che gia' compilato basta clickare su esempio.zip (4k).import netscape.constructor.*;
import java.io.*;
//
//
// provaConstructor
//
//
public class provaConstructor extends Application implements Target, WindowOwner
{
// Inizializza l'oggetto plan che si occupa di
// caricare i dati dal file generato dal Constructor
Plan plan = null;
public void init() {
super.init();
// Imposta il colore di sfondo
mainRootView().setColor(Color.white);
// Carica la finestra disegnata col Constructor e la visualizza
if(plan == null) {
try {
plan = new Plan("finestra.planb", this);
} catch (IOException e) {
System.err.println("Impossibile caricare finestra.planb\n" + e);
return;
}
} else {
// Elimina i riferimenti agli oggetti caricati precedentemente
plan.unarchiveObjects(this);
}
// Carica la finestra memorizzata
InternalWindow miafinestra = (InternalWindow) plan.componentNamed("miaFinestra");
// Visualizza la finestra
miafinestra.showModally();
}
.
.
.
.
}
Conclusioni
Nonostante non sia un tool RAD, il Constructor della Netscape riesce egregiamente nel suo compito, che e' quello di semplificare la creazione dell'interfaccia utente delle nostre applicazioni. Il fatto di essere scritto interamente in Java significa che puo' essere utilizzato da qualsiasi piattaforma per la quale sia disponibile il linguaggio della Sun. Inoltre rappresenta un valido esempio delle potenzialita', messe a disposizione agli sviluppatori, delle Internet Foundation Classes. Tutto questo pero' si paga dal punto di vista della velocita' di esecuzione e sicuramente l'uso di una VM che implementi la tecnologia JIT (come ad esempio quella della Microsoft) migliora notevolmente le cose, soprattuto se si ha una macchina di classe 486.
|
||
|
||
MokaByte ricerca
nuovi collaboratori
|
||
|