Swing (Java)
Un article de Wikipédia, l'encyclopédie libre.
Swing est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package Java Foundation Classes (JFC), inclus dans J2SE. Swing constitue l'une des principales évolutions apportées par Java 2 par rapport aux versions antérieures.
Swing offre la possibilité de créer des interfaces graphiques identiques quel que soit le système d'exploitation sous-jacent, au prix de performances moindres qu'en utilisant Abstract Window Toolkit (AWT). Il utilise le principe Modèle-Vue-Contrôleur (MVC) et dispose de plusieurs choix d'apparence (de vue) pour chacun des composants standard.
Sommaire |
[modifier] Relation avec AWT
Depuis les premières versions de Java, Abstract Window Toolkit (AWT) fournit une API indépendante du système d'exploitation pour mettre en œuvre des composants graphiques. Dans AWT, chaque composant est dessiné et controllé par un composant tiers natif spécifique au système d'exploitation. C'est pourquoi les composants d'AWT sont appelés composants lourds.
Au contraire, les composants Swing sont décrits comme légers. En effet, ils ne requièrent pas d'allocation de ressources natives de la part du gestionnaire de fenêtres sous-jacent, mais « empruntent » les resources de leurs ancètres.
Une grande partie de l'API Swing est une extension complémentaire à AWT plutôt qu'un remplaçant direct. L'affichage est fourni par Java2D, un autre composant des JFC. Cependant, l'usage conjoint de composants légers et lourds au sein d'une même fenêtre est généralement déconseillé à cause de problèmes de gestion de la profondeur [1].
[modifier] Exemple
Le programme suivant est un Hello World en Swing :
import javax.swing.JFrame; import javax.swing.JLabel; public final class HelloWorld extends JFrame { private HelloWorld() { setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); getContentPane().add((new JLabel("Hello, World!"))); pack(); setLocationRelativeTo(null); } public static void main(String[] args) { new HelloWorld().setVisible(true); } }
[modifier] Notes et références
[modifier] Voir aussi
[modifier] Liens externes
- (fr) Cours et tutoriels Swing
- (fr) Le forum Swing