ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Eshop | Java | Tools | Web | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

BORLAND JBUILDER
Borland Jbuilder
Palette degli strumenti
Il progetto
Il Browser
Creazione elementi
Two-way tool
Visual Programming
I Wizard
Dotazioni accessorie
Conclusioni
L'Autore

<<< Two-way tool >>>

Anche se il Jbuilder è innanzitutto un potente e comodo IDE, in un ambiente di sviluppo moderno viene oggi considerata irrinunciabile la programmazione visuale. Naturalmente, il Jbuilder consente l’uso effettivo delle tecniche RAD. Abbiamo già notato la tabbed toolbar della palette che serve proprio per contenere gli elementi da inserire nelle interfaccie sviluppate con il GUI builder. Prima di descrivere in pratica come si lavora, occorre spendere due parole per spiegare l’approccio alla visual programming adottata dal Jbuilder, approccio per la verità comune ad altri ambienti di sviluppo Java.

La programmazione visuale è nata con il Visual Basic, dove viene gestita utilizzando due tipi di file: le form e i programmi in Basic. L’ambiente di sviluppo del Visual Basic infatti consente innanzitutto di disegnare la form, personalizzare i componenti con le properties, e infine di agganciare alla form il codice Basic richiamato dagli eventi. L’editor visuale del VB edita soltanto le form, ovvero un formato di file specializzato per descrivere l’interfaccia. In Java invece le cose sono più complesse, perché la descrizione dell’interfaccia viene fatta in Java stesso. È necessario quindi rintracciare all’interno di un sorgente Java il codice che genera l’interfaccia. I primi ambienti di sviluppo inserivano all’interno dei programmi Java dei marcatori, cioè dei commenti speciali utilizzati per distinguere il codice editato visualmente da quello scritto dall’utente. Jbuilder invece è un vero two?way tool, che consente in maniera paritaria la programmazione visuale e quella non visuale. Questo significa che l’editor visuale è in sostanza un editor di codice: l’utente disegna l’interfaccia, e l’IDE provvede a generare il codice corrispondente all’interfaccia generata.

Tale codice è leggibile, comprensibile e soprattutto facilmente modificabile dallo sviluppatore. Se infatti si cambia qualcosa nel codice Java che descrive l’interfaccia, ritornando al designer si vedrà il risultato della modifica che si è apportata senza dover lanciare il programma! In realtà il programmatore, anche se ha molta libertà, non può fare proprio qualunque modifica se non vuole perdere la possibilità dell’editing visuale. Il Jbuilder infatti utilizza la struttura del programma per capire quale parte è modificabile dal designer e quale invece è di pertinenza del programmatore. Un esempio illustrerà il tutto. Creiamo un nuovo componente, per esempio un Frame. Jbuilder genererà il codice necessario e nel browser comparirà una nuova classe, nel nostro caso Frame1. Cliccando sulla linguetta source vediamo il sorgente. Esaminando il sorgente, possiamo notare, tra le altre cose, la generazione di un metodo che può sembrare ridondante: jbInit. Questo metodo viene richiamato dal costruttore, e inizialmente fa poco: imposta soltanto un layout manager, l’XyLayout. L’utilizzo del metodo jbInit è invece fondamentale per il Jbuilder, perché gli consente di identificare il codice Java che descrive l’interfaccia.

Torniamo alla modalità di design , e aggiungiamo un bottone al frame, selezionandolo dalla toolbar, e lo disegniamo nel frame. Tornando al source vedremo che ora c’è un nuovo campo, button1. Inoltre è stato modificato il metodo jbInit che imposta le proprietà del Button. Il perno della visual programming del Jbuilder è tutto qui. Per ogni nuovo componente di interfaccia aggiunto ad una classe, viene aggiunto un nuovo campo, e viene modificato il metodo jbInit per impostare le caratteristiche del nuovo componente. Il Jbuilder mantiene l’aspetto dell’interfaccia che il programmatore sta disegnando memorizzandolo nel codice. In pratica il Jbuilder comprende il Java, e aiuta il programmatore a disegnare l’interfaccia producendo il codice necessario per realizzare quello che il programmatore ha disegnato. Il programmatore può anche andare a modificare il codice generato dal Jbuilder. Per esempio posso modificare l’etichetta del bottone, cambiando la linea button1.setLabel(“button”) in button1.setLabel(“Click me!”).

Se torniamo alla visualizzazione grafica notiamo che anche nell’editor grafico vedremo l’etichetta modificata! Il Jbuilder ha analizzato il codice e ha rigenerato l’aspetto dell’interfaccia nell’editor così come la vuole il programmatore. Molte modifiche possono essere fatte senza problemi, ma non tutte. Per esempio non posso cambiare il nome del metodo jbInit. In tal caso infatti il Jbuilder non troverebbe più la descrizione dell’interfaccia. Se cambio nome a jbInit, passando alla visualizzazione design vediamo una interfaccia vuota. In realtà compilando il codice e mandandolo in esecuzione, ottengo effettivamente un frame con un bottone dentro. Il Jbuilder però non è più in grado di modificare visualmente quel codice perché adesso non rispetta più le sue convenzioni.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com