JavaAWT (Abstract Window Toolkit) lo è un'API per sviluppare un'interfaccia utente grafica (GUI) o applicazioni basate su Windows a Giava.
I componenti Java AWT dipendono dalla piattaforma, ovvero i componenti vengono visualizzati in base alla vista del sistema operativo. AWT è molto pesante, ovvero i suoi componenti utilizzano le risorse del sistema operativo sottostante (SO).
Il file java.awt pacchetto fornisce classi per API AWT come TextField , Label , TextArea , RadioButton, CheckBox , Choice , List ecc.
Il tutorial AWT aiuterà l'utente a comprendere la programmazione della GUI Java in passaggi semplici e facili.
Perché AWT è indipendente dalla piattaforma?
Java AWT chiama la piattaforma nativa chiama la subroutine della piattaforma nativa (sistemi operativi) per la creazione di componenti API come TextField, ChechBox, pulsante, ecc.
Ad esempio, una GUI AWT con componenti come TextField, etichetta e pulsante avrà un aspetto diverso per le diverse piattaforme come Windows, MAC OS e Unix. La ragione di ciò è che le piattaforme hanno una visione diversa dei loro componenti nativi e AWT chiama direttamente la subroutine nativa che crea tali componenti.
In parole semplici, un'applicazione AWT apparirà come un'applicazione Windows nel sistema operativo Windows mentre sembrerà un'applicazione Mac nel sistema operativo MAC.
Gerarchia AWT Java
La gerarchia delle classi Java AWT è riportata di seguito.
Componenti
Tutti gli elementi come il pulsante, i campi di testo, le barre di scorrimento, ecc. sono chiamati componenti. In Java AWT, ci sono classi per ciascun componente come mostrato nel diagramma sopra. Per posizionare ogni componente in una posizione particolare sullo schermo, dobbiamo aggiungerli a un contenitore.
Contenitore
Il contenitore è un componente in AWT che può contenere altri componenti come pulsanti, campi di testo, etichette ecc. Le classi che estendono la classe Contenitore sono note come contenitore come Cornice, dialogo E Pannello .
Java statico
È fondamentalmente una schermata in cui sono posizionati i componenti nelle loro posizioni specifiche. Quindi contiene e controlla la disposizione dei componenti.
Nota: un contenitore stesso è un componente (vedere il diagramma sopra), quindi possiamo aggiungere un contenitore all'interno di un contenitore.
Tipi di contenitori:
Esistono quattro tipi di contenitori in Java AWT:
- Finestra
- Pannello
- Telaio
- Dialogo
Finestra
La finestra è il contenitore che non ha bordi e barre dei menu. È necessario utilizzare la cornice, la finestra di dialogo o un'altra finestra per creare una finestra. Dobbiamo creare un'istanza della classe Window per creare questo contenitore.
Pannello
Il Pannello è il contenitore che non contiene barra del titolo, bordo o barra dei menu. È un contenitore generico per contenere i componenti. Può avere altri componenti come pulsante, campo di testo ecc. Un'istanza della classe Panel crea un contenitore in cui possiamo aggiungere componenti.
Telaio
Il Frame è il contenitore che contiene la barra del titolo e il bordo e può avere barre dei menu. Può avere altri componenti come pulsante, campo di testo, barra di scorrimento ecc. Frame è il contenitore più utilizzato durante lo sviluppo di un'applicazione AWT.
Metodi utili di classe dei componenti
Metodo | Descrizione |
---|---|
public void add(Componente c) | Inserisce un componente su questo componente. |
public void setSize(int larghezza,int altezza) | Imposta la dimensione (larghezza e altezza) del componente. |
public void setLayout(LayoutManager m) | Definisce il gestore del layout per il componente. |
public void setVisible(stato booleano) | Modifica la visibilità del componente, per impostazione predefinita false. |
Esempio AWT Java
Per creare un semplice esempio AWT, è necessario un frame. Esistono due modi per creare una GUI utilizzando Frame in AWT.
- Estendendo la classe Frame ( eredità )
- Creando l'oggetto della classe Frame ( associazione )
Esempio AWT per ereditarietà
Vediamo un semplice esempio di AWT in cui ereditiamo la classe Frame. Qui mostriamo il componente Pulsante sul Frame.
AWTExample1.java
contatti bloccati
// importing Java AWT class import java.awt.*; // extending Frame class to our class AWTExample1 public class AWTExample1 extends Frame { // initializing using constructor AWTExample1() { // creating a button Button b = new Button('Click Me!!'); // setting button position on screen b.setBounds(30,100,80,30); // adding button into frame add(b); // frame size 300 width and 300 height setSize(300,300); // setting the title of Frame setTitle('This is our basic AWT example'); // no layout manager setLayout(null); // now frame will be visible, by default it is not visible setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample1 f = new AWTExample1(); } }scarica questo esempio
Nell'esempio precedente viene utilizzato il metodo setBounds(int asse x, int asse y, int larghezza, int altezza) che imposta la posizione del pulsante awt.
Produzione:
Esempio AWT per associazione
Vediamo un semplice esempio di AWT in cui stiamo creando un'istanza della classe Frame. Qui stiamo creando un componente TextField, Label e Button sul Frame.
AWTExample2.java
// importing Java AWT class import java.awt.*; // class AWTExample2 directly creates instance of Frame class class AWTExample2 { // initializing using constructor AWTExample2() { // creating a Frame Frame f = new Frame(); // creating a Label Label l = new Label('Employee id:'); // creating a Button Button b = new Button('Submit'); // creating a TextField TextField t = new TextField(); // setting position of above components in the frame l.setBounds(20, 80, 80, 30); t.setBounds(20, 100, 80, 30); b.setBounds(100, 100, 80, 30); // adding components into frame f.add(b); f.add(l); f.add(t); // frame size 300 width and 300 height f.setSize(400,300); // setting the title of frame f.setTitle('Employee info'); // no layout f.setLayout(null); // setting visibility of frame f.setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample2 awt_obj = new AWTExample2(); } }scarica questo esempio
Produzione: