AWT es el acrónimo del X Window Toolkit para Java, donde X puede ser
cualquier cosa: Abstract, Alternative, Awkward, Another o Asqueroso; aunque
parece que Sun se decanta por Abstracto, seriedad por encima de todo. Se trata de una biblioteca de clases Java para el desarrollo de Interfaces de Usuario Gráficas. La versión del AWT que Sun proporciona con el JDK se desarrolló en sólo dos meses y es la parte más débil de todo lo que representa Java como lenguaje. El entorno que ofrece es demasiado simple, no se han tenido en cuenta las ideas de entornos gráficos novedosos. Quizá la presión de tener que lanzar algo al mercado haya tenido mucho que ver en la pobreza de AWT. Javasoft, en vista de la precariedad de que hace gala el AWT, y para asegurarse que los elementos que desarrolla para generar interfaces gráficas sean fácilmente transportables entre plataformas, se ha unido con Netscape, IBM y Lighthouse Design para crear un conjunto de clases que proporcionen una sensación visual agradable y sean más fáciles de utilizar por el programador. Esta colección de clases son las Java Foundation Classes (JFC), que están constituidas por cinco grupos de clases, al menos en este momento: AWT, Java 2D, Accesibilidad, Arrastrar y Soltar y Swing.
La estructura de la versión actual del AWT se puede resumir en los puntos que se exponen a continuación:
Los Contenedores contienen Componentes, que son los controles básicos
No se usan posiciones fijas de los Componentes, sino que están situados a través de una disposición controlada (layouts) El común denominador de más bajo nivel se acerca al teclado, ratón y manejo de eventos Alto nivel de abstracción respecto al entorno de ventanas en que se ejecute la aplicación (no hay áreas cliente, ni llamadas a X, ni hWnds, etc.) La arquitectura de la aplicación es dependiente del entorno de ventanas, en vez de tener un tamaño fijo Es bastante dependiente de la máquina en que se ejecuta la aplicación (no puede asumir que un diálogo tendrá el mismo tamaño en cada máquina) Carece de un formato de recursos. No se puede separar el código de lo que es propiamente interface. No hay ningún diseñador de interfaces (todavía) Java Swing Awt Podemos decir que Swing es la evolución del AWT, la cual al igual que Swing es un Como vemos todos los componentes de conjunto de librerias enfocadas a la Swing heredan del paquete javax.swing construcción de interfaces, solo que con esta (obvio no?) a diferencia de los componentes se presentaron algunos problemas en cuanto AWT los Swing se reconocen porque a portabilidad principalmente cuando se anteponen la letra J antes del nombre, por desarrollaban aplicaciones para diferentes ejemplo un botón en AWT se llama Button, sistemas operativos, pues el comportamiento mientras que en Java Swing es Jbutton de los componentes graficos en ocasiones podían variar...... bueno esa es otra historia, el punto es Cuando vamos a construir aplicaciones utilizando Java Swing debemos tener al que a partir de AWT nace Swing y con el menos un contenedor que será la base para mejoras no solo en aspectos visuales sino nuestra aplicación, es decir, sera el lienzo también en portabilidad y donde pintaremos los demás comportamiento.....el siguiente es un ejemplo componentes. de la Jerarquía de esta librería (se muestran algunos de los principales componentes