Swing y AWT
Los programas y aplicaciones con interfaces únicamente de consola son recuerdos de décadas pasadas, a pesar que aún se utilizan algunos, estos más que todo van dirigidos a personas con amplias capacidades técnicas, para el usuario común o masivo debemos siempre tener una interfaz gráfica para hacer nuestro programa o aplicación mucho más amigable.
Java nos ofrece las herramientas necesarias para que como desarrolladores podamos construir la mejor interfaz posible, utilizando todos los conceptos de programación orientada a objetos, de esta forma podemos aprovechar todo el poder del lenguaje.
En esta sección veremos los conceptos básicos y las diferentes herramientas que tenemos disponible para hacer interfaces gráficas utilizando Java.
Swing y AWT
Una interfaz gráfica se compone de ventanas, iconos y acciones, con ello podemos construir un menú, o un elemento que reciba un texto o simplemente un botón que llame a alguna acción; si bien es factible desarrollar nuestra propia librería que nos genere todos estos elementos es algo muy complejo y que llevaría una gran cantidad de tiempo.
Para mejorar Java incorporó la nueva librería Swing, esta nueva librería es mucho más versátil, robusta y más sencilla de implementar, por lo que el desarrollo de interfaces más complejas se vio facilitado, a pesar de ser una mejora de AWT aún depende de alguna de sus clases como por ejemplo java.awt.Window o java.awt.Panel, estas dos clases dependen mucho del sistema donde se corre la interfaz, sin embargo los componentes Swing no tienen esta dependencia:
Distinguir entre Swing y AWT
Como la introducción de Swing fue para sustituir a AWT, muchos de sus componentes se sobreponen, por ello para diferenciar una de otra a los componentes de Swing se les coloca el prefijo J con ello podemos tener entonces JButton ó JLabel que tienen su contraparte en AWT sin dicho prefijo.
Al hacer esta distinción podemos actualizar programas y aplicaciones que ya podamos tener utilizando AWT al ir paulatinamente construyendo las nuevas interfaces en Swing, así evitamos que todo se rompa sin necesidad.
Con esto finalizamos esta primera parte del tutorial, al haber entendido cual es la diferencia entre ambas librerías en Java, sabemos el por qué se hizo el cambio de AWT a Swing y como esto puede afectar a la generación de nuevas interfaces. En la próxima parte veremos un poco más a fondo como utilizar Swing.