Quelle est la différence entre AWT et Swing en Java

le différence principale entre AWT et Swing en Java est que le AWT est la boîte à outils de widgets d’interface utilisateur originale pour Java basée sur la plate-forme, tandis que Swing est une boîte à outils de widgets GUI pour Java qui est une extension de AWT..  

Java est un langage de programmation général et de haut niveau qui prend en charge la programmation orientée objet, le multithreading, l’indépendance de la plate-forme et de nombreuses autres fonctionnalités. Le programmeur peut écrire diverses applications, notamment le bureau, le Web, le mobile, le traitement d'images, etc. en utilisant le langage Java. Il fournit des boîtes à outils permettant de créer des interfaces utilisateur graphiques riches. AWT et Swing sont deux d'entre eux.

Zones clés couvertes

1. Qu'est-ce que l'interface graphique?
     - Définition, fonctionnalité
2. Qu'est-ce que l'AWT?
     - Définition, fonctionnalité
3. Qu'est-ce que Swing
     - Définition, fonctionnalité
4. Quelle est la différence entre AWT et Swing en Java
     - Comparaison des différences clés

Mots clés

AWT, interface graphique, Java, Swing

Qu'est-ce qu'une interface graphique?

GUI signifie Interface utilisateur graphique. C'est une interface qui permet aux utilisateurs de faire fonctionner une application et d'effectuer les tâches requises. En outre, une interface graphique est composée de divers composants. Fenêtre, boutons, boutons radio, cases à cocher, étiquettes, listes déroulantes, champs de texte, zones de liste déroulante sont des composants de l’interface graphique. Ces composants peuvent déclencher des événements. Par exemple, une nouvelle page s'ouvre après avoir cliqué sur un bouton ou l'utilisateur peut entrer les détails de l'enregistrement et appuyer sur le bouton d'envoi. La plupart des applications ont une interface graphique permettant à l'utilisateur de communiquer avec l'application.

Qu'est-ce que l'AWT?

AWT signifie Boîte à outils de la fenêtre abstraite. C'est une API pour développer des applications GUI ou Windows en Java. Un objet OS natif est nécessaire pour implémenter les fonctionnalités. De plus, les composants AWT sont lourds et nécessitent plus d’espace mémoire. En outre, ils prennent un certain temps pour exécuter. De plus, le programmeur doit importer le package javax.awt pour développer une interface graphique basée sur AWT. Les boutons, les barres de défilement, les champs de texte, les listes, les boîtes de dialogue et les panneaux sont des composants AWT. Après avoir créé des objets, ils sont placés dans un conteneur. En outre, il fournit l'espace requis pour le chargement des composants. En règle générale, l'application AWT dans un système d'exploitation peut sembler différente dans un autre système d'exploitation.

Qu'est-ce que Swing

Swing est une boîte à outils de widgets graphiques pour Java. Il est construit sur l'API AWT. En outre, il fait partie des classes Java Foundation (JFC) d'Oracle. En outre, Swing fournit des composants de base tels que des étiquettes, des zones de texte, des boutons, etc., ainsi que des composants avancés tels que des volets à onglets, des tableaux et des arbres. Par conséquent, Swing fournit des composants plus sophistiqués que AWT. Ici, le programmeur doit importer le package javax.swing pour écrire une application Swing. Ce paquet fournit un certain nombre de classes telles que JButton, JTable, JList, JTextArea et JCheckBox..

Figure 1: application simple Java Swing

Swing est indépendant de la plate-forme et ses composants sont légers. De plus, les composants nécessitent un minimum d’espace mémoire. Par conséquent, les applications Swing s'exécutent beaucoup plus rapidement. Un modèle de conception courant en développement est le modèle Modèle, Vue, Contrôleur (MVC). Swing suit ce modèle. Cela aide à maintenir le code facilement.  

Différence entre AWT et Swing

Définition

AWT est un ensemble de composants d'interface graphique (widgets) et d'autres services associés requis pour la programmation d'interface graphique en Java. Swing fait partie de JFC (Java Foundation Classes) et permet de créer des applications à interface graphique basées sur Java. Ceci explique donc la principale différence entre AWT et Swing en Java.

Type

Les composants AWT sont lourds tandis que les composants Swing sont légers.

Dépendance de la plateforme

Une autre différence majeure entre AWT et Swing en Java réside dans le fait qu'AWT dépend de la plate-forme, tandis que Swing est indépendant de la plate-forme..

Afficher

De plus, AWT ne prend pas en charge l’apparence et la convivialité d’un plug-in. Swing prend en charge une apparence et une sensation de connexion. C’est également une différence importante entre AWT et Swing en Java..

Composants

En outre, Swing a des composants plus avancés que AWT.

La vitesse

En outre, l'exécution de AWT est plus lente. Cependant, Swing s'exécute plus rapidement.

MVC

AWT ne prend pas en charge le modèle MVC, tandis que Swing prend en charge le modèle MVC. Ceci est une autre différence entre AWT et Swing.

Espace mémoire

De plus, les composants AWT nécessitent plus d’espace mémoire, tandis que les composants Swing n’exigent pas beaucoup d’espace mémoire..

Paquet

Le programmeur doit importer le package javax.awt pour développer une interface graphique basée sur AWT. Cependant, le programmeur doit importer le package javax.swing pour écrire une application Swing.

Conclusion

En bref, AWT et Swing sont deux outils permettant de créer des interfaces utilisateur graphiques riches. La principale différence entre AWT et Swing en Java réside dans le fait qu'AWT est la boîte à outils de widgets dépendant de la plate-forme, l'interface graphique et l'interface utilisateur de Java, tandis que Swing est une boîte à outils de widgets d'interface graphique pour Java qui est une extension d'AWT.. 

Référence:

1. «AWT Overview». Www.tutorialspoint.com, disponible ici.
2. «SWING Overview». Www.tutorialspoint.com, disponible ici..
3. «Swing (Java)». Wikipedia, Wikimedia Foundation, 9 juin 2018, disponible ici..
4. «Abstract Window Toolkit». Wikipédia, Wikimedia Foundation, 26 août 2018, disponible ici..

Courtoisie d'image:

1. «Java Swings Wikibook, gestion d’événements, exemple 1: capture d’écran» par Samwilson - Travail personnel (CC BY-SA 3.0) via Commons Wikimedia