Swing (Java) 22625 31657568 2008-07-17T15:36:27Z Loveless 41312 robot Ajoute: [[uk:Swing (Java)]] {{Voir homonymes|Swing}} '''Swing''' est une [[bibliothèque graphique]] pour le [[Java (langage)|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 [[Graphical user interface|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 (M/VC,les composants Swing jouent en fait le rôle de Contrôleur au sens du [[MVC]]) et dispose de plusieurs choix d'apparence (de vue) pour chacun des composants standard. == 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 controlé 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 ressources 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 <ref name="mixing">[http://java.sun.com/products/jfc/tsc/articles/mixing/ {{en}} Mixing heavy and light components - Sun Developer Network]</ref>. == Exemple == Le programme suivant est un [[Hello World]] en Swing : <source lang="java"> import javax.swing.JFrame; import javax.swing.JLabel; public class HelloWorld { public static void main(String[] args) { JFrame frame = new JFrame("Hello World!"); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.getContentPane().add((new JLabel("Hello, World!"))); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } } </source> === Notes et références === <references/> == Voir aussi == * [[Standard Widget Toolkit|SWT]] et son complément [[JFace]] * [[SwingX (Java)]] === Liens externes === * {{fr}} [http://java.developpez.com/cours/#ig Cours et tutoriels Swing] {{Portail informatique}} [[Catégorie:Bibliothèque logicielle graphique]] [[Catégorie:Bibliothèque logicielle Java]] [[bn:সুইং (জাভা)]] [[de:Swing (Java)]] [[en:Swing (Java)]] [[es:Swing (biblioteca gráfica)]] [[fi:Swing (Java)]] [[it:Swing (Java)]] [[ja:Swing]] [[ko:스윙 (자바)]] [[lt:Swing]] [[nl:Swing (Java)]] [[pl:Swing (Java)]] [[pt:Swing (api)]] [[ru:Swing]] [[uk:Swing (Java)]] [[zh:Swing]]