Abstract Window Toolkit
# Abstract Window Toolkit

La Abstract Window Toolkit (AWT) è la libreria Java contenente le classi e le interfacce fondamentali per il rendering grafico. Queste classi consentono di realizzare interfacce utente complesse e di definire l'interazione attraverso la specifica di elementi e di gestori degli stessi.

## Descrizione

La libreria AWT contiene:

* Gli elementi base per applicazioni GUI, come finestre, check box, text box e pulsanti
* L'interfaccia tra il sistema a finestre nativo e l'applicazione JAVA
* Il package java.awt.datatransfer per poter utilizzare gli Appunti e le operazioni Drag and drop
* Le interfacce per la gestione degli eventi e delle periferiche come mouse e tastiera
* L'Interfaccia Nativa AWT, che permette alle procedure compilate in linguaggio nativo di operare su un Canvas JAVA.
* La possibilità di eseguire applicazioni del sistema operativo, come il browser o il gestore di posta elettronica da un'applicazione JAVA

Quando la Sun Microsystems rilasciò la prima versione di JAVA nel 1995, gli elementi AWT offrivano un basso livello di differenza dagli elementi del sistema operativo. Questo perché la creazione di un elemento AWT comportava la chiamata alla procedura del sistema operativo per la creazione dello stesso elemento, rendendolo così graficamente uguale all'elemento nativo. Molti programmatori preferivano questo sistema, in quanto offriva maggiore fedeltà al sistema operativo: la stessa finestra se creata su Microsoft Windows assomigliava a una finestra di Windows, se creata su una piattaforma Macintosh assomigliava a ogni altra finestra Macintosh. Tuttavia, questo a molti programmatori non piacque in quanto era preferibile che le applicazioni avessero lo stesso aspetto indipendentemente dal sistema operativo.

Con J2SE 1.2, gli elementi AWT furono in gran parte superati dalla libreria swing. Oltre a fornire un set più ricco di elementi, Swing crea i suoi elementi personali, utilizzando JAVA 2D per chiamare le routine grafiche a basso livello del sistema invece di rimanere nell'interfaccia utente ad alto livello del sistema operativo. Swing offre la possibilità di usare sia il sistema "Look and feel" che usa gli elementi del sistema operativo, sia il "Java Look and Feel", che fornisce agli elementi lo stesso aspetto su ogni piattaforma.

AWT è anche la libreria GUI per applicazioni per cellulari, ed è usata nella maggior parte delle Versioni mobili di JAVA.

