Programación de la interfaz de la aplicación
AWT es una biblioteca de interfaz de usuario utilizada en las primeras versiones de Java. Para multiplataforma, se refiere a proporcionar el mayor conjunto común denominador de componentes compatibles con varias plataformas... Por ejemplo, el sistema operativo de Apple no admite la visualización de imágenes de botones, por lo que los botones AWT no pueden usar imágenes; Residencia en peer nativo Se implementa de esta manera, es decir, un objeto Botón corresponde a un componente de ventana nativo (el mapeo lo implementa el programa local), por lo que el componente AWT se ve exactamente igual que el componente local.
Por otro lado, SWING ha creado muchas extensiones basadas en AWT, que proporciona el conjunto de componentes múltiples más inusual compatible con varias plataformas... MVC (sub-UI, componentes, modelo), la mayoría de sus componentes utilizan Java2D para implementar la simulación de renderizado, excepto Windows. Debido a esto, Swing tiene mucha flexibilidad en el renderizado.
SWT es otra rama desarrollada por IBM para la interfaz de usuario de escritorio Java. Su método de implementación es similar a AWT, utilizando la implementación de pares nativos, por lo que sus componentes son muy similares a los componentes nativos. Además, siguiendo el principio del mínimo común múltiplo, para componentes no públicos, utilice una API similar a la biblioteca Draw2D para la representación simulada. JFace es un paquete de mejora de SWT, que encapsula aún más SWT, haciendo 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 un programa java (MVC), mientras que AWT y SWT no son tan flexibles porque son nativamente equivalentes. En términos de uso de memoria, AWT y SWT son mucho menores que swing y la velocidad de 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 por sí mismo, por lo que no es sorprendente que la interfaz Swing responda lentamente. En términos del conjunto de componentes admitidos, SWT y Swing son mucho más ricos que AWT, finalmente, en términos de estabilidad, SWT carece un poco ~ ~
Tanto Swing como SWT ocupan una cierta participación en lo anterior; bibliotecas de interfaz de usuario mencionadas. Swing tiene mayor flexibilidad para mostrar algunos gráficos de informes y tiene mejor soporte para componentes de código abierto (como JFreeChart). SWT es ideal para el desarrollo rápido de aplicaciones. La interfaz Eclipse es la implementación de SWT. A partir de esto, surgió la tecnología Eclipse RCP (similar a MFC). Integra la biblioteca básica SWT y JFace y está diseñada con componentes OSGI. Se utiliza principalmente para el desarrollo rápido de aplicaciones de escritorio. utilizado en el desarrollo personalizado de IDE. Muy común. También es muy utilizado en el mercado. Por ejemplo, la versión más nueva del cliente TopEng de Huawei está implementada por RCP. Personalmente prefiero la interfaz SWT.
Sin embargo, en la aplicación actual de componentes de escritorio (entorno Windows), Java está en desventaja y no se usa tan ampliamente como C++ y C#. Se desconoce el motivo.
Espero que te ayude, jaja~~