Red de conocimiento informático - Consumibles informáticos - Pregunte a los desarrolladores empresariales de Java sobre los diversos componentes de programación de interfaz del lenguaje Java: swing, awt, swt, jsf, jfac.

Pregunte a los desarrolladores empresariales de Java sobre los diversos componentes de programación de interfaz del lenguaje Java: swing, awt, swt, jsf, jfac.

JSF es un marco para la capa de presentación, principalmente para aplicaciones de interfaz web, mientras que los demás son bibliotecas de UI de escritorio, que son diferentes de las anteriores y no las compararemos aquí.

AWT es una biblioteca de interfaz de usuario utilizada en las primeras versiones de Java. Para ser multiplataforma, se refiere a proporcionar el mayor conjunto de componentes comunes denominador compatibles con cada plataforma. no admite la visualización de imágenes de botones, por lo que los botones AWT no pueden usar imágenes. AWT se implementa en forma de pares nativos, es decir, un objeto Botón corresponde a un componente de ventana local (usando programas locales para implementar el mapeo), por lo que los componentes AWT y local Los componentes se ven exactamente iguales.

SWING ha creado muchas extensiones basadas en AWT. Proporciona un conjunto de componentes múltiplos menos comunes compatibles con varias plataformas (divididos en UI, Componente y Modelo). A excepción de la ventana, la mayoría de sus componentes utilizan Java2D para implementar la simulación de renderizado. Debido a esto, Swing tiene una gran flexibilidad en el renderizado.

SWT es otra rama desarrollada por IBM para la interfaz de usuario de escritorio de Java. Su implementación es similar a AWT y ambas utilizan la implementación de pares nativos, por lo que sus componentes también son similares a los componentes nativos. , sigue el principio del mínimo común múltiplo y, para componentes no públicos, utiliza una API similar a la biblioteca Draw2D para simular la representación. JFace es un paquete de mejora de SWT. Es una encapsulación adicional de SWT, lo que hace que la división de módulos del desarrollo de la interfaz SWT sea más clara y el código más fácil de mantener.

En resumen, en términos de flexibilidad de renderizado, swing es el mejor porque su renderizado se puede implementar en programas java (MVC), mientras que AWT y SWT son pares nativos No tan flexibles; , AWT y SWT son mucho menores que swing y la respuesta es más rápida. Esto se debe a que Swing coloca la información de representación del componente (incluso la información de píxeles) en la memoria del programa y la administra él mismo, por lo que no es sorprendente que la interfaz Swing. responde muy lentamente ~~; en términos del conjunto de componentes compatibles, SWT y Swing son mucho más ricos que AWT, finalmente, en términos de estabilidad, SWT es ligeramente insuficiente ~~

Entre las varias bibliotecas de UI anteriores; Tanto Swing como SWT ocupan una cierta proporción. Swing tiene una mayor flexibilidad para mostrar algunos gráficos de informes y tiene un mejor soporte para componentes de código abierto (como JFreeChart). Es muy adecuado para el desarrollo rápido de aplicaciones. Sobre esta base, surgió la tecnología Eclipse RCP (similar a MFC). Esta tecnología integra la biblioteca básica SWT y JFace y adopta el diseño de componentes OSGI. Se utiliza principalmente para el desarrollo rápido de aplicaciones de escritorio, también es común en el desarrollo personalizado de IDE y actualmente se usa ampliamente. En el mercado, por ejemplo, la versión más nueva del cliente TopEng de Huawei es implementada por RCP personalmente, sigo prefiriendo la interfaz SWT.

Sin embargo, Java se encuentra actualmente en desventaja en las aplicaciones de componentes de escritorio (entorno Windows). No se usa tan ampliamente como C++ y C#, y se desconoce el motivo.

Espero que esto te ayude, jaja~~