PRATIQUE JAVA 
Java : choisir entre AWT, Swing et SWT
 
"Suis-je obligé de choisir entre AWT et Swing pour une interface Java ? Quels sont les avantages et défauts de chacun ?" (01/02/2005)

 

  Forum

Réagissez dans les forums de JDN Développeurs

Après plusieurs années à ne proposer que AWT (Abstract Windowing Toolkit), le langage Java s'est vu adjoindre de nouveaux gestionnaires d'interface, à commencer par Swing par Sun, mais également SWT du projet Eclipse et plus récemment JFace.

Le premier choix se fait le plus souvent entre AWT et Swing, car ce sont les deux fournis en standard dans le SDK. Choix, car il est préférable de n'en utiliser qu'un seul à la fois, tant les risques d'erreurs peuvent survenir entre les deux API graphiques - leurs syntaxes étant assez proches. Cependant, du fait de cette proximité, remplacer l'un par l'autre peut dans certains projets être rapide et sans douleur.

Pour ce qui est des avantages et inconvénients, ils sont clairs :
- Swing, plus récent que AWT, est également plus optimisé, et donc plus rapide. De son côté, AWT existe depuis plus longtemps, il est donc reconnu par plus de systèmes/outils.
- Swing prend en compte un plus grand nombre de widgets. De plus, étant le remplaçant officiel d'AWT, il est donc encore amélioré avec les nouvelles versions de Java.
- AWT garde encore pour lui son intégration à J2ME, et donc sa reconnaissance au sein d'un plus grand nombre de téléphones.
Les inconvénients de Swing sont susceptibles de disparaître avec les évolutions de Java.

Existent également les gestionnaires SWT et JFace, créés par Eclipse pour palier les manques des gestionnaires de Sun pour le propre usage d'Eclipse.
SWT se veut plus léger que AWT et Swing réunis, tout en fournissant un large jeu de widgets et bibliothèques graphiques. Ce framework est indépendant du système tout en étant capable d'utiliser des éléments natifs.
JFace, de son côté, est une boîte à outils qui permet de simplifier la plupart des tâches graphiques. Il est construit à partir de SWT.
Ces deux frameworks graphiques sont accessibles à tous ceux ayant installé le SDK d'Eclipse…

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page