|
Esaminare ora in maggior dettaglio che cosa ci consente di fare l’ambiente
di sviluppo. In
Figura 7
possiamo notare una schermata del designer in azione. A sinistra, in modalità
design, viene comunque visualizzato un albero che rappresenta la struttura
della GUI (non la struttura della classe). Questo albero è più comodo, per
spostarsi tra i vari componenti di una GUI, che andare a cliccare direttamente
su un componente, specie quando ci sono dei componenti invisibili. Ogni qualvolta
si passa alla modalità di design viene anche visualizzato l’inspector delle
proprietà, mostrato in
Figura 8
.
Il browser: disegnare un interfaccia
Figura 7
L’inspector di proprietà ed eventi
Figura 8
La procedura da seguire quindi è quella di creare un nuovo contenitore,
inserendovi dei componenti presi dalla palette. Ognuno di questi elementi
può essere personalizzato agendo sulle proprietà mostrate nell’inspector.
Abbiamo visto come creare un nuovo oggetto significa aggiungere un nuovo campo
alla classe; modificare le proprietà significa in pratica editare il metodo
jbInit. Rimane la parte forse più importante, la gestione di eventi. L’inspector
ci consente di generare il codice di gestione eventi, semplicemente selezionando
l’evento che si vuol gestire. Nel JDK 1.1 ogni componente è un sorgente di
eventi, e ogni componente deve registrare una classe target, da richiamare
quando viene catturato l’evento.
La gestione dell’evento, tuttavia, viene effettuata da un metodo della
classe stessa. Nel nostro esempio, se Frame1 che contiene button1, la gestione
dell’evento di click sul bottone verrà svolta dal metodo Frame1.button1_actionPerformed,
generato automaticamente dal Jbuilder. Tuttavia per ottenere questo risultato,
per motivi tecnici che non ci interessa approfondire qui, viene anche generata
automaticamente una classe adattatore Frame1_button1_actionAdapter, e il necessario
codice di registrazione dell’adapter presso il bottone.
|