El Abstract Window Toolkit (AWT) es un conjunto de clases GUI que provee herramientas similares a Swing.

El Swing no usa ninguno de los componentes nativos del sistema operativo y está escrito totalmente en Java.

 

awt y swing

Los beneficios del Swing, son:

  • Los componentes se ven igual en cualquier plataforma. De hecho, Swing nos permite especificar que los componentes tengan apariencia visual nativa o apariencia visual de Swing.swing
  • Los diseñadores de los componentes pueden ir más allá del mínimo común denominador y crear un conjunto completo de componentes.

Las principales clases de AWT, son:

  • Label, TextField y TextArea con barra de desplazamientos integrados.
  • Checkbox y CheckboxGroup, conocidos también como botones de opción (RadioButtons en Swing).
  • Panel para contener componentes y Canvas para los gráficos.
  • Cuadros Choice, son los cuadros combinados (ComboBox en Swing) y List.
  • Un componente Scrollbar independiente (Slider en Swing), Menú y FileDialog (FileChooser en Swing). El AWT no provee cuadros de dialogo JOptionPane.

En esta lista muestra la mayoría de los componentes AWT pero en Swing hay muchas más clases, ya que está provee más herramientas a través de sus métodos.

Conversión de Swing a AWT.

A continuación se le mostrara algunos pasos para realizar esta conversión:

  1. Elimine las instrucciones import de Swing. Esto asegura que el compilador pueda detectar cualquier uso de Swing, aun si no se utiliza.
  2. Elimine la “J” de todos los componentes. Por ejemplo:

JFrame se convierte a Frame.

NO SE MEZCLA Swing con AWT EN EL MISMO PROGRAMA.

  1. Busque un componente de AWT equivalente. Por ejemplo:

En lugar de usar JSlider, se usa Scrollbar.

  1. Use la instrucción implements WindowListener y agregue el conjunto de métodos de ventana vacíos que se muestra en el listado anterior.
  2. En el caso de las interfaces de usuario con esquemas de flujo básico (flow layout), en donde los componentes se agregan en orden de izquierda a derecha, podemos agregarlas directamente al marco en vez de tener que crear un contenedor. Por ejemplo:

add(boton1);

es abreviación de:

this.add(boton1);

en donde this  representa al objeto actual. Es una instancia de la clase Frame.

  1. Compile el programa.

¿Cuándo usar Swing y AWT?

Si se va a escribir una aplicación lo más recomendable es usar Swing, ya que provee muchas más herramientas y es más popular que AWT.awt

Si se va a escribir applets que se van a ver en un navegador Web, utilice AWT.