Différence entre AWT et Swing

Java est un logiciel de développement d'applications indépendant de la plate-forme. Il fournit un ensemble de logiciels qui peuvent être utilisés pour développer des applications. Un de ces logiciels est AWT (Abstract Window Toolkit). Il s'agit d'un ensemble d'interface de programme utilisé pour créer des composants d'interface utilisateur graphique (GUI) et d'autres services requis pour l'interface graphique en Java. Il fait partie des classes Java Foundation. Il facilite le développement de GUI. AWT comprend un ensemble de widgets de fenêtrage, de graphiques et d'interface utilisateur. Il dispose également d'une gestion d'événements robuste, d'outils d'imagerie, d'un gestionnaire de disposition pour des dispositions de fenêtre flexibles. Dans cette rubrique, nous allons en savoir plus sur AWT vs Swing et leurs différences

Swing est la boîte à outils la plus récente basée sur AWT. Swing donne au programmeur la flexibilité de l'indépendance de la plateforme. Contrairement au programmeur AWT, vous pouvez créer des objets GUI plus généralisés à l'aide de Swing.

Présentation d'AWT : AWT est utilisé pour prendre en charge l'interface utilisateur dans l'application Java. Il fournit l'abstraction de haut niveau pour le programme Java car il masque les détails sous-jacents de l'interface graphique. Étant donné que AWT est une API basée sur le système d'exploitation pour fournir une interface utilisateur graphique pour Java. Son composant dépend de son homologue sous-jacent (comme l'aspect et la convivialité de ce système d'exploitation) pour gérer ses fonctionnalités. Ainsi, ces composants sont souvent appelés composants «lourds».

Les fonctionnalités AWT comprennent:

  • Un riche ensemble de composants d'interface utilisateur.
  • Le modèle robuste de gestion des événements
  • Gestionnaire de disposition pour différentes dispositions de fenêtre
  • Les classes de transfert de données prennent en charge le copier-coller via la plateforme native.

Présentation de Swing : Swing est construit sur AWT, il fait partie des classes Java Foundation. Swing est entièrement basé sur Java, c'est pourquoi sa plate-forme est indépendante. Il est utilisé pour créer une interface graphique plus efficace que AWT.

Caractéristiques de Swing:

  • Toutes les fonctionnalités d'AWT
  • Fournit un riche ensemble de composants de niveau supérieur comme une arborescence, des volets à onglets, des zones de liste, etc.
  • Aspect et convivialité enfichables.
  • Aucune dépendance aux composants homologues.

Comparaison tête à tête entre AWT et Swing (infographie)

Vous trouverez ci-dessous la comparaison des 11 meilleurs AWT vs Swing:

Différences clés entre AWT et Swing:

Comme AWT est un pont entre l'application et l'interface native sous-jacente, sa mise en œuvre sur un nouveau système d'exploitation peut nécessiter beaucoup de travail. Parce qu'il nécessite de nouveau un pair natif. L'utilisation de pairs natifs limite les fonctionnalités d'AWT. AWT a deux niveaux d'API -

  • L'un fournit une interface générale de base entre l'application et le système d'exploitation natif.
  • Deuxième widget GUI qui fournit des objets code-behind pilotés sur un canevas AWT.

L'utilisation de composants natifs rend AWT rapide. Améliore donc ses performances. De plus, la plupart des navigateurs Web prennent en charge AWT, aucun plug-in Java n'est nécessaire pour les applets AWT. Mais AWT a un plus petit ensemble de composants, donc les utilisateurs doivent écrire du code personnalisé pour obtenir leurs propres composants basés sur AWT. Les composants AWT ne prennent pas en charge des fonctionnalités telles que la barre de titre et les barres de menus.

Swing est l'extension d'AWT. Ce n'est pas le remplacement exact d'AWT. Par conséquent, il a des fonctionnalités AWT avec l'extensibilité de JAVA. Ainsi, tous les composants présents dans AWT sont également présents dans Swing. Mais Swing ne nécessite pas de programmation par les pairs, ce qui en fait une plate-forme indépendante et légère. De plus, Swing permet une plus grande gamme de composants.

Swing est une architecture modulaire. Il prend en charge le branchement pour une implémentation personnalisée. L'utilisateur peut créer sa propre implémentation pour remplacer l'implémentation Java par défaut. Swing prend également en charge le mécanisme d'exécution. La méthode de composition indirecte permet au swing de répondre aux changements d'exécution en fonction de l'environnement d'application. Swing prend en charge des fonctionnalités telles que des icônes et des info-bulles. Sun est activement impliqué dans le développement de Swing, ce qui fait que de temps en temps le swing obtient de nouvelles fonctionnalités et s'améliore comme auparavant.

La plupart des navigateurs Web ne prennent pas en charge le swing. Ainsi, il faut avoir un plugin Java pour swing. Le swing est plus lent par rapport à l'AWT. Étant donné que les composants Swing gèrent leur propre peinture (plutôt que d'utiliser des API natives comme DirectX sur Windows), cela peut se heurter à des problèmes graphiques.

Tableau de comparaison entre AWT et Swing:

AWTBALANÇOIRE
AWT signifie Abstract Window Toolkit.Swing fait partie de Java Foundation Classes (JFC).
AWT dépend de la plateforme. Son code réside dans le système d'exploitation du système, ce qui rend impossible l'indépendance de la plate-forme.Les composants Swing sont fabriqués en JAVA. Ainsi, ce qui le rend indépendant de la plateforme.
Les composants AWT sont lourds.Les composants Swing sont légers.
AWT ne suit pas MVC (Model View Controller).Swing est basé sur MVC.
Les composants AWT nécessitent java.awt.packageLes composants Swing nécessitent javax.swing.package.
AWT n'a pas de volet Jtable et Jtabbed.Swing a un volet Jtable et Jtabbed.
AWT dépend de la plate-forme, donc l'aspect et la convivialité ne sont pas très différents.Le swing peut avoir une apparence et une sensation différentes.
AWT occupe plus d'espace mémoire.Swing occupe moins d'espace mémoire.
AWT est moins puissant que Swing.Le swing est l'extension de l'AWT, de nombreux inconvénients sont donc supprimés.
L'aspect et la convivialité d'AWT dépendent de la plate-forme.L'aspect et la convivialité de Swing sont indépendants de la plate-forme et du système d'exploitation sous-jacents.
Les composants AWT dépendent du code natif (pairs) pour fonctionner correctement. C'est pourquoi ces composants sont des «composants lourds».Swing n'a pas une telle dépendance. Ces composants sont donc des «composants légers».

Conclusion:

Les deux AWT vs Swing sont utilisés pour créer une interface utilisateur graphique en Java. Ils sont tous deux robustes et ont leurs propres avantages et inconvénients. Le composant AWT est approprié pour le développement d'applications simples qui sont principalement conçues pour s'exécuter sur un seul système d'exploitation. Alors que swing est la dernière interface entièrement basée sur Java. Swing donne à l'utilisateur la liberté de coder une fois et s'exécute n'importe où. Il fournit également une gamme de composants plus large que AWT. Cela dépend totalement des besoins des utilisateurs. Bien qu'AWT soit un ancien développement qui se produit toujours dans AWT et il s'améliore. Si l'exigence consiste à ressembler davantage au système d'exploitation sous-jacent, AWT serait une meilleure option. Si vous voulez une interface graphique plus flexible, alors le swing est bon pour aller avec.

Articles recommandés

Cela a été un guide pour la principale différence entre AWT et Swing. Ici, nous discutons également des principales différences AWT vs Swing avec des infographies et un tableau de comparaison. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Java vs Ruby - Quel est le meilleur?
  2. Python vs Scala - Les principales différences
  3. Différence entre HTML5 et Flash
  4. WordPress vs Drupal
  5. Étiquette JavaFX
  6. Dispositions JavaFX
  7. Types et comment créer des graphiques JavaFx?
  8. JavaFX Slider
  9. Comment saisir du texte dans JavaFX TextField?
  10. Constructeurs et méthodes du bouton JavaFx
  11. Top 15 des méthodes de HBox dans JavaFX