Balançoire est une bibliothèque Java Foundation Classes [JFC] et une extension de Abstract Window Toolkit [AWT]. Java Swing offre des fonctionnalités bien améliorées par rapport à AWT, de nouveaux composants, des fonctionnalités de composants étendues et une excellente gestion des événements avec prise en charge du glisser-déposer.
Introduction de Java Swing
Swing possède environ quatre fois plus de composants d'interface utilisateur [UI] qu'AWT et fait partie de la distribution Java standard. Compte tenu des exigences actuelles en matière d'interface graphique d'application, AWT est une implémentation limitée, pas tout à fait capable de fournir les composants requis pour le développement d'interfaces graphiques complexes requises dans les applications commerciales modernes. L'ensemble de composants AWT présente de nombreux bogues et consomme beaucoup de ressources système par rapport aux ressources Swing équivalentes. Netscape a présenté sa bibliothèque Internet Foundation Classes [IFC] à utiliser avec Java. Ses classes sont devenues très populaires auprès des programmeurs créant des interfaces graphiques pour les applications commerciales.
- Swing est un ensemble d'API (API- Ensemble de classes et d'interfaces)
- Swing est fourni pour concevoir des interfaces utilisateur graphiques
- Swing est une bibliothèque d'extensions pour l'AWT (Abstract Window Toolkit) 17h00 – 17h30
- Comprend des composants nouveaux et améliorés qui ont amélioré l'apparence et les fonctionnalités des interfaces graphiques.
- Swing peut être utilisé pour créer (développer) des applications GUI Swing autonomes sous forme de servlets et d'applets.
- Il utilise une architecture de conception modèle/vue.
- Swing est plus portable et plus flexible que l'AWT, le Swing est construit sur l'AWT.
- Swing est entièrement écrit en Java.
- Les composants Java Swing sont indépendants de la plate-forme et les composants Swing sont légers.
- Swing prend en charge une apparence et une sensation enfichables et Swing fournit des composants plus puissants.
- tels que des tableaux, des listes, des Scrollpanes, Colourchooser, un volet à onglets, etc.
- Un swing supplémentaire suit MVC.
Différence entre Java Swing et Java AWT
Il existe certains points sur lesquels Java Swing est différent de Java AWT, comme mentionné ci-dessous :
| JavaAWT | Java Swing arraylist.sort |
|---|---|
| Java AWT est une API permettant de développer des applications GUI en Java. | Swing fait partie des Java Foundation Classes et est utilisé pour créer diverses applications. |
| Les composants d’AWT sont lourds. | Les composants de Java Swing sont légers. |
| Les composants dépendent de la plate-forme. | Les composants sont indépendants de la plate-forme. |
| Le temps d'exécution est supérieur à Swing. | Le temps d'exécution est inférieur à AWT. |
| Les composants AWT nécessitent le package java.awt. | Les composants Swing nécessitent le package javax.swing. |
Pour en savoir plus sur le sujet, référez-vous à Java Swing et Java AWT .
Qu’est-ce que JFC ?
JFC signifie Java Foundation Classes. JFC est l'ensemble de composants GUI qui simplifient les applications de bureau. De nombreux programmeurs pensent que JFC et Swing sont une seule et même chose, mais ce n'est pas le cas. JFC contient Swing [un package de composants d'interface utilisateur] et un certain nombre d'autres éléments :
- Couper et coller : prise en charge du presse-papiers.
- Fonctionnalités d'accessibilité : destinées au développement d'interfaces graphiques pour les utilisateurs handicapés.
- Les fonctionnalités des couleurs du bureau ont été introduites pour la première fois dans Java 1.1.
- Java 2D : il offre une prise en charge améliorée des couleurs, des images et du texte.
Caractéristiques de la classe Swing
- Aspect et sensation enfichables.
- Utilise l'architecture MVC.
- Composants légers
- Indépendant de la plateforme
- Fonctionnalités avancées telles que JTable, JTabbedPane, JScollPane, etc.
- Java est un langage indépendant de la plate-forme et s'exécute sur n'importe quelle machine client. L'apparence de l'interface graphique, détenue et fournie par un système d'exploitation spécifique à la plate-forme, n'affecte tout simplement pas l'interface graphique d'une application construite à l'aide de composants Swing.
- Composants légers : À commencer par le JDK 1.1, son développement de composants légers pris en charge par AWT. Pour qu'un composant soit qualifié de léger, il ne doit dépendre d'aucune classe système non Java [basée sur le système d'exploitation). Les composants Swing ont leur propre vue prise en charge par les classes d'apparence et de convivialité de Java.
- Apparence et convivialité enfichables : Cette fonctionnalité permet à l'utilisateur de changer l'apparence des composants Swing sans redémarrer une application. La bibliothèque Swing prend en charge l’apparence des composants qui restent les mêmes sur toutes les plates-formes, où que le programme soit exécuté. La bibliothèque Swing fournit une API qui offre une réelle flexibilité dans la détermination de l'apparence et de la convivialité de l'interface graphique d'une application.
- Hautement personnalisable – Les contrôles Swing peuvent être personnalisés de manière très simple car l’apparence visuelle est indépendante de la représentation interne.
- Des contrôles riches – Swing fournit un riche ensemble de contrôles avancés tels que Tree TabbedPane, slider, colorpicker et tableaux.
Hiérarchie des classes Swing

La connexion MVC
- En général, un composant visuel est un composite de trois aspects distincts :
- L'apparence du composant lorsqu'il est rendu à l'écran.
- La manière dont le composant réagit à l'utilisateur.
- Les informations d'état associées au composant.
- Au fil des années, l’architecture à un seul composant s’est révélée exceptionnellement efficace : – Modèle Vue Contrôleur ou MVC pour faire court.
- Dans la terminologie MVC, le modèle correspond aux informations d'état associées au Composant.
- Le voir détermine la manière dont le composant est affiché à l'écran, y compris tous les aspects de la vue affectés par l'état actuel du modèle.
- Le manette détermine la façon dont le composant réagit à l'utilisateur.
Les composants Swing les plus simples ont des capacités bien au-delà des composants AWT, comme suit :
- Les boutons et étiquettes Swing peuvent afficher des images à la place ou en plus du texte.
- Les bordures autour de la plupart des composants Swing peuvent être facilement modifiées. Par exemple, il est facile de mettre une bordure de 1 pixel autour de l'extérieur d'une étiquette Swing.
- Les composants de balançoire ne doivent pas nécessairement être rectangulaires. Les boutons, par exemple, peuvent être ronds.
- Désormais, les dernières technologies assertives telles que les lecteurs d'écran peuvent facilement obtenir des informations à partir des composants Swing. Exemple : un outil de lecture d'écran peut facilement capturer le texte affiché sur un bouton ou une étiquette Swing.
Exemple de programmes Java Swing
Exemple 1 : Développer un programme utilisant l'étiquette (swing) pour afficher le message GFG WEB Site Cliquez :
Java
chaîne inversée en java
// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating instance of JFrame> >JFrame frame =>new> JFrame();> >// Creating instance of JButton> >JButton button =>new> JButton(>' GFG WebSite Click'>);> >// x axis, y axis, width, height> >button.setBounds(>150>,>200>,>220>,>50>);> >// adding button in JFrame> >frame.add(button);> >// 400 width and 500 height> >frame.setSize(>500>,>600>);> >// using no layout managers> >frame.setLayout(>null>);> >// making the frame visible> >frame.setVisible(>true>);> >}> }> |
>
>
Sortir:

Exemple 2 : écrivez un programme pour créer trois boutons avec la légende OK, SUBMIT, CANCEL.
Java
conversion de chaîne en entier
// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> >button()> >{> >Frame f =>new> Frame();> >// Button 1 created> >// OK button> >Button b1 =>new> Button(>'OK'>);> >b1.setBounds(>100>,>50>,>50>,>50>);> >f.add(b1);> >// Button 2 created> >// Submit button> >Button b2 =>new> Button(>'SUBMIT'>);> >b2.setBounds(>100>,>101>,>50>,>50>);> >f.add(b2);> > >// Button 3 created> >// Cancel button> >Button b3 =>new> Button(>'CANCEL'>);> >b3.setBounds(>100>,>150>,>80>,>50>);> >f.add(b3);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String a[]) {>new> button(); }> }> |
>
>
Sortir:

Exemple 3 : Programme pour ajouter une case à cocher dans le cadre
Java
histoire en java
// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> >// Main Function> >Lan()> >{> >// Frame Created> >Frame f =>new> Frame();> >Label l1 =>new> Label(>'Select known Languages'>);> >l1.setBounds(>100>,>50>,>120>,>80>);> >f.add(l1);> >// CheckBox created> >Checkbox c2 =>new> Checkbox(>'Hindi'>);> >c2.setBounds(>100>,>150>,>50>,>50>);> >f.add(c2);> >// CheckBox created> >Checkbox c3 =>new> Checkbox(>'English'>);> >c3.setBounds(>100>,>200>,>80>,>50>);> >f.add(c3);> >// CheckBox created> >Checkbox c4 =>new> Checkbox(>'marathi'>);> >c4.setBounds(>100>,>250>,>80>,>50>);> >f.add(c4);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String ar[]) {>new> Lan(); }> }> |
>
>
Sortir:

Composants de Swing Class le pourcentage de la tâche
| Classe | Description |
|---|---|
| Composant | Un composant est la classe de base abstraite pour les contrôles de l'interface utilisateur sans menu de Java SWING. Les composants représentent un objet avec une représentation graphique. |
| Récipient | Un conteneur est un composant qui peut contenir des composants Java SWING |
| Composant J | Un JComponent est une classe de base pour tous les composants Swing UI. Afin d'utiliser un composant Swing qui hérite de JComponent, le composant doit être dans une hiérarchie de confinement dont la racine est un conteneur Java Swing de niveau supérieur. |
| JÉtiquette | Un JLabel est un composant objet permettant de placer du texte dans un conteneur. |
| JBouton | Cette classe crée un bouton étiqueté. |
| JColorChooser | Un JColorChooser fournit un volet de contrôles conçus pour permettre à l'utilisateur de manipuler et de sélectionner une couleur. |
| JCheckBox | Un JCheckBox est un composant graphique (GUI) qui peut être dans un état activé (vrai) ou désactivé (faux). |
| JRadioButton | La classe JRadioButton est un composant graphique (GUI) qui peut être dans un état activé (vrai) ou désactivé (faux). dans le groupe |
| JListe | Un composant JList représente l'utilisateur avec la liste déroulante d'éléments de texte. |
| JComboBox | Un composant JComboBox présente à l'utilisateur un menu de choix affiché. |
| JTextField | Un objet JTextField est un composant de texte qui permettra l'édition d'une seule ligne de texte. |
| ChampJPassword | Un objet JPasswordField est un composant texte spécialisé pour la saisie de mots de passe. |
| JTextZone | Un objet JTextArea est un composant de texte qui permet d'éditer plusieurs lignes de texte. |
| Imagelcon | Un contrôle ImageIcon est une implémentation de l'interface Icon qui peint des icônes à partir d'images. |
| Barre de défilement | Un contrôle JScrollbar représente un composant de barre de défilement afin de permettre aux utilisateurs de sélectionner parmi les valeurs de plage. |
| JOptionPane | JOptionPane fournit un ensemble de boîtes de dialogue standard qui invitent les utilisateurs à saisir une valeur ou quelque chose. |
| JFileChooser | Un JFileChooser qu'il contrôle représente une fenêtre de dialogue à partir de laquelle l'utilisateur peut sélectionner un fichier. |
| JProgressBar | Au fur et à mesure que la tâche progresse vers son achèvement, la barre de progression affiche le pourcentage de tâches à son achèvement. |
| JSlides | Un JSlider de cette classe permet à l'utilisateur de sélectionner graphiquement (GUI) en utilisant une valeur en faisant glisser un bouton dans un intervalle délimité. |
| JSpinner | Un JSpinner de cette classe est une entrée sur une seule ligne où se trouve le champ qui permet à l'utilisateur de sélectionner en utilisant un nombre ou une valeur d'objet à partir d'une séquence ordonnée. |