La libreria AWT
Una delle problematiche che i progettisti del linguaggio Java hanno dovuto affrontare è stata quella relativa alla possibilità di realizzare le GUI (Graphical User Interface ). Nel 1996 venne quindi introdotto un package grafico denominato AWT (Abstract Window Toolkit) che mette in corrispondenza i componenti grafici specifici del sistema operativo ospite con apposite classi chiamate Peer.
Quando viene utilizato un componente grafico AWT nella GUI di un’applicazione java viene posizionato sullo schermo un oggetto grafico della piattaforma ospite . Quando l’utente dell’applicazione interagisce con un elemento dell’interfaccia grafica , viene creato un oggetto Event , che viene inoltrato al corrispondente componente AWT in modo da permettere al programmatore di gestirlo in modalità Object oriented.
La libreria grafica AWT si fonda su due elementi principali :
· Componenti: sono oggetti aventi una rappresentazione grafica .La loro caratteristica è quella di essere elementi con la quale l’utente può interagire.
· Contenitori: sono oggetti che possono contenere altri elementi . La loro funzione è quella di permettere il posizionamento e il dimensionamento di un componente al loro interno
Componenti
Etichette (label)
Le etichette sono componenti grafici istanze della classe Label che permettono la creazione di una riga di testo .
Label l = new Label (“Etichetta”);
Caselle di testo (text field)
La classe TextField di AWT permette di creare caselle di testo ;tale classe deriva dalla classe TextComponent .
TextField t = new TextField(“Testo”,10);
Pulsanti (botton)
I pulsanti sono elementi grafici utilizzati per invocare un’azione quando vengono selezionati e premuti mediante il mouse,può comprendere una stringa al suo interno; sono istanze della classe Button.
Button b = new Button(“Ok”);
Contenitori
Finestra (window)
La finestra è il tipo di contenitore principale ,viene normalmente implementata come istanza della classe Frame ,è necessario implementarne una per ogni applicazione dotata di una GUI.
Esempio per la creazione di una finestra :
si crea un oggetto f di tipo Frame e gli passiamo come parametro il nome che dovrà avere la nostra finestra …
Frame f = new Frame (“nome finestra”);
I metodi seguenti serviranno rispettivamente a definire la grandezza della nostra finestra e la visibilità ( cioè se la finestra si dovrà vedere o no) …
setSize(200,200);
f.setVisible(true);
Pannello (panel)
La classe Panel implementa un tipo di contenitore usato principalmente per raggruppare i componenti grafici e posizionarli in un altro contenitore.
Esempio di panel :
si istanziano due oggetti (b1,b2) di tipo Bottone …
Button b1 = new Button (“si”);
Button b2 = new Button (“no”);
Si crea un Panel …
Panel p = new Panel ();
si inseriscono i bottoni nel panel …
p.add(b1);
p.add(b2);
si crea una finestra (dove verrà inserito il panel contenente I bottoni) …
Frame f = new Frame (“Finestra”);
setSize(200,200);
f.setVisible(true);
inseriamo il panel all’interno della finestra …
f.add(p);