¿Cuál es la diferencia entre AWT y Swing en Java?

los diferencia principal entre AWT y Swing en Java es que el AWT es el conjunto de herramientas de widgets, gráficos y la interfaz de usuario de la plataforma original de Java, mientras que Swing es un conjunto de herramientas de widget GUI para Java que es una extensión de AWT.  

Java es un lenguaje de programación de alto nivel, de propósito general, que admite programación orientada a objetos, subprocesos múltiples, plataforma independiente y muchas otras características. El programador puede escribir una variedad de aplicaciones que incluyen escritorio, web, móvil, procesamiento de imágenes, etc. utilizando el lenguaje Java. Proporciona kits de herramientas para crear interfaces gráficas de usuario (GUI). AWT y Swing son dos de ellos..

Áreas clave cubiertas

1. ¿Qué es GUI?
     - Definición, Funcionalidad
2. Que es AWT
     - Definición, Funcionalidad
3. Que es swing
     - Definición, Funcionalidad
4. ¿Cuál es la diferencia entre AWT y Swing en Java?
     - Comparación de diferencias clave

Términos clave

AWT, GUI, Java, Swing

¿Qué es una GUI?

GUI significa Interfaz gráfica del usuario. Es una interfaz que permite a los usuarios operar una aplicación y realizar las tareas requeridas. Además, una GUI consta de varios componentes. Ventana, botones, botones de radio, casillas de verificación, etiquetas, listas desplegables, campos de texto, cuadros combinados son algunos componentes de la GUI. Estos componentes pueden desencadenar eventos. Por ejemplo, una nueva página se abre después de hacer clic en un botón, o el usuario puede ingresar los detalles de registro y presionar el botón enviar. La mayoría de las aplicaciones tienen una GUI para permitir que el usuario se comunique con la aplicación.

Que es AWT

AWT significa Kit de herramientas de ventana abstracta. Es una API para desarrollar aplicaciones GUI o basadas en Windows en Java. Requiere un objeto OS nativo para implementar las funcionalidades. Además, los componentes de AWT son pesados ​​y requieren más espacio de memoria. Además, tardan un poco en ejecutarse. Además, el programador debe importar el paquete javax.awt para desarrollar una GUI basada en AWT. Botones, barras de desplazamiento, campos de texto, listas, cuadros de diálogo y paneles son algunos componentes de AWT. Después de crear objetos, se colocan en un contenedor. Además, proporciona el espacio requerido para que se carguen los componentes. Por lo general, la aplicación AWT en un sistema operativo puede verse diferente en otro sistema operativo.

Que es swing

Swing es un conjunto de herramientas de widget GUI para Java. Está construido sobre la API de AWT. Además, es parte de Java Foundation Classes (JFC) de Oracle. Además, Swing proporciona componentes básicos como etiquetas, cuadros de texto, botones, etc., así como componentes avanzados como paneles con pestañas, tablas y árboles. Por lo tanto, Swing proporciona componentes más sofisticados que AWT. Aquí, el programador debe importar el paquete javax.swing para escribir una aplicación Swing. Este paquete proporciona una serie de clases tales como JButton, JTable, JList, JTextArea y JCheckBox..

Figura 1: aplicación Java Swing simple

Swing es independiente de la plataforma y sus componentes son ligeros. Además, los componentes requieren un espacio de memoria mínimo. Por lo tanto, las aplicaciones Swing se ejecutan mucho más rápido. Un patrón de diseño común en el desarrollo es el patrón Modelo, Vista, Controlador (MVC). Swing sigue este patrón. Ayuda a mantener el código fácilmente.  

Diferencia entre AWT y Swing

Definición

AWT es una colección de componentes de GUI (widgets) y otros servicios relacionados necesarios para la programación de GUI en Java. Swing es una parte de Java Foundation Classes (JFC) que se utiliza para crear aplicaciones de interfaz gráfica de usuario front-end basadas en Java. Por lo tanto, esto explica la principal diferencia entre AWT y Swing en Java..

Tipo

Los componentes AWT son pesados, mientras que los componentes Swing son ligeros.

Dependencia de la plataforma

Otra diferencia importante entre AWT y Swing en Java es que AWT depende de la plataforma, mientras que Swing es independiente de la plataforma.

Monitor

Además, AWT no admite una apariencia y tacto conectables. El columpio admite una apariencia y tacto conectables. Esta es también una diferencia importante entre AWT y Swing en Java..

Componentes

Además, Swing tiene componentes más avanzados que AWT..

Velocidad

Además, la ejecución de AWT es más lenta. Sin embargo, Swing se ejecuta más rápido..

MVC

AWT no admite el patrón MVC, mientras que Swing admite el patrón MVC. Esta es otra diferencia entre AWT y Swing..

Espacio de memoria

Además, los componentes AWT requieren más espacio de memoria mientras que los componentes Swing no requieren mucho espacio de memoria.

Paquete

El programador debe importar el paquete javax.awt para desarrollar una GUI basada en AWT. Sin embargo, el programador tiene que importar el paquete javax.swing para escribir una aplicación Swing.

Conclusión

En resumen, AWT y Swing son dos kits de herramientas para crear interfaces gráficas de usuario (GUI) ricas. La principal diferencia entre AWT y Swing en Java es que AWT es el conjunto de herramientas de herramientas, gráficos e interfaz de usuario dependientes de la plataforma original de Java, mientras que Swing es un conjunto de herramientas de widget GUI para Java que es una extensión de AWT.. 

Referencia:

1. "Descripción general de AWT". Www.tutorialspoint.com, disponible aquí.
2. "Descripción general de SWING". Www.tutorialspoint.com, disponible aquí.
3. “Swing (Java).” Wikipedia, Wikimedia Foundation, 9 de junio de 2018, disponible aquí.
4. “Abstract Window Toolkit.” Wikipedia, Wikimedia Foundation, 26 de agosto de 2018, disponible aquí.

Imagen de cortesía:

1. "Wikiibro de Java Swings, Manejo de eventos, captura de pantalla del ejemplo 1" Por Samwilson - Trabajo propio (CC BY-SA 3.0) a través de Commons Wikimedia