Tutoriel Java Swing : exemples pour créer une interface graphique

30 octobre 2021

L'un des langages de programmation les plus admirés et les plus utilisés pour développer des applications Web dans Java . Vous pouvez écrire le code sur une plate-forme dans le langage de programmation Java et l'exécuter n'importe où sur n'importe quelle plate-forme. Il suit le principe du WORA (Write Once, Run Anywhere). Le langage de programmation Java est l'un des plus flexibles, basé sur la classe , et orienté objet langues. Cet article verra le didacticiel Java Swing, qui vous aidera à concevoir l'interface utilisateur graphique de toute application de site Web.

Table des matières

Qu'est-ce que Java Swing ?

À Interface utilisateur graphique (GUI) toolkit pour le langage de programmation Java est le Balançoire Java . Vous pouvez créer l'interface utilisateur graphique en Java à l'aide de Java Swing. La boîte à outils Java Swing appartient à Oracle Classes de base Java (JFC) . La Java Foundation Class (JFC) est une interface de programme d'application (API) qui offre une interface graphique pour créer des applications Java.

Auparavant, le langage Java utilisé Boîte à outils de fenêtre abstraite (AWT) pour développer l'interface utilisateur graphique des applications Web. Comme la boîte à outils Swing, la boîte à outils abstraite Window appartient également à la Java Foundation Class (JFC) d'Oracle. La boîte à outils Java Swing est une boîte à outils plus flexible et améliorée que la boîte à outils de fenêtre abstraite pour le développement d'interfaces graphiques. Les composants présents dans la boîte à outils Java Swing sont plus faciles à gérer et plus robustes que la boîte à outils AWT.

L'une des principales différences entre Java Swing et AWT est que les composants Java Swing sont indépendants de la plate-forme et sont entièrement codés en Java. Au contraire, les composants AWT ne sont pas indépendants de la plate-forme ; à la place, ils sont codés dans le code spécifique à la plate-forme. L'autre différence entre Java Swing et AWT est que la boîte à outils Java Swing offre des composants supplémentaires par rapport à la boîte à outils AWT, comme des arbres, des tableaux, des volets de défilement et des panneaux à onglets.

Java Swing est basé sur l'architecture Modèle-Vue-Contrôleur. L'idée fondamentale de cette architecture est qu'elle catégorise les composants Java Swing en trois éléments différents. Ces éléments sont Modèle, Vue et Contrôleur.

Le premier élément, Model, contient les données d'un composant Java Swing particulier. Ensuite, l'élément view affiche la représentation visuelle des données présentes dans l'élément Model. Enfin, le contrôleur permet aux utilisateurs de saisir une entrée sur l'élément de vue, et le résultat est reflété sur cet élément. L'élément de modèle du MVC est présent séparément, tandis que les éléments de vue et de contrôleur sont combinés.

Fonctionnalités de Java Swing

Voici quelques caractéristiques importantes de Java Swing.

    Indépendant de la plate-forme :

Les composants Java Swing sont indépendants de la plate-forme. Ils ne nécessitent aucun code spécifique pour être exécutés sur une plate-forme particulière. Par conséquent, vous pouvez utiliser les composants de l'interface graphique Java Swing sur n'importe quelle plate-forme, où que vous soyez.

    Poids léger:

Une autre caractéristique des composants Java Swing est qu'ils sont légers. Par conséquent, l'interface utilisateur graphique de toute application Web devient également légère. Tous les éléments de Java Swing sont codés en langage Java.

    Modèle-Vue-Contrôleur (MVC) :

Tous les composants de Java Swing sont regroupés en trois éléments, Model, View et Controller. L'architecture MVC est exceptionnellement bénéfique et avantageuse. Si vous souhaitez modifier un seul composant, cela n'affectera pas les autres membres. Par conséquent, une telle architecture est appelée architecture à couplage lâche.

    Personnalisable :

Les composants Java Swing sont personnalisables. En d'autres termes, vous pouvez modifier les composants selon vos besoins. Vous pouvez également modifier facilement l'apparence des composants. Un autre avantage de Java Swing est que vous pouvez modifier l'apparence lors de l'exécution.

    Gérable et accessible :

Java Swing est très flexible et gérable. Il permet toutes les modifications pendant le temps d'exécution. Vous pouvez modifier l'interface utilisateur graphique sans apporter de modifications au code de l'application.

Différence entre Java Swing et Abstract Window Toolkit

Voyons en quoi Java Swing et Abstract Window Toolkit diffèrent l'un de l'autre.

Balançoire Java Boîte à outils de fenêtre abstraite Java
Tous les composants de la boîte à outils Java Swing sont indépendants de la plate-forme.Les composants présents dans Abstract Window Toolkit ne sont pas indépendants de la plate-forme. Ils sont implémentés dans le code spécifique à la plateforme.
Les composants de la boîte à outils Java Swing sont légers.L'Abstract Window Toolkit a des composants relativement plus lourds que Java Swing.
Les composants Java Swing sont présents dans le package javax.swing.Les composants Abstract Window Toolkit sont présents dans le package java.awt.
Les composants Java Swing offrent une apparence et une convivialité enfichables de l'interface graphique.Les composants de la boîte à outils de fenêtre abstraite n'offrent aucune apparence et convivialité enfichables pour l'interface graphique.
Il dispose d'un ensemble de composants plus avancés et flexibles, tels que des tableaux, des listes, des volets à onglets, etc.Cette boîte à outils a des composants limités.
Java Swing est basé sur le Contrôleur de vue de modèle (MVC) schéma.L'Abstract Window Toolkit ne prend pas en charge le modèle MVC.
Les composants Java Swing prennent moins de temps à s'exécuter.Les composants Abstract Window Toolkit prennent relativement plus de temps que Java Swing pour s'exécuter.
Les composants de cette boîte à outils occupent moins d'espace mémoire.Ces composants occupent moins d'espace mémoire.

Jusqu'à présent, nous avons vu Java Swing, ses fonctionnalités et la différence entre deux kits d'outils Java pour l'implémentation de l'interface graphique. La mise en œuvre de ces kits d'outils n'est possible que si vous disposez d'une configuration Java complète sur votre bureau. La section suivante vous aidera à configurer l'environnement Java sur nos postes de travail Windows 2000/XP.

Configuration du chemin Java pour Windows 2000/XP

Tout d'abord, vous devez télécharger Java SE à partir du lien Oracle Java Archive . Vous devez choisir le Java SE version compatible avec votre système d'exploitation. Après avoir téléchargé Java SE, vous devez exécuter le fichier .exe et installer Java sur le bureau Windows. Mais, vous pouvez exécuter n'importe quel code en suivant ces étapes. Vous devez définir le chemin des variables d'environnement vers l'exécutable Java. Les étapes suivantes vous aideront à configurer le chemin Java pour Windows.

Supposons que vous ayez installé Java SE et qu'il soit présent dans le répertoire c:Program Filesjavajdk. Commencez à configurer le chemin pour Java.

  1. Sur l'écran de votre bureau, sélectionnez 'Poste de travail'. Après cela, cliquez avec le bouton droit de la souris et sélectionnez 'Propriétés'.
  2. Plus tard, cliquez sur 'Paramètres système avancés', et un écran affiche un champ pour 'Variables environnementales'.
  3. Dans les 'Variables d'environnement', sélectionnez 'Chemin'. Vous remarquerez un autre chemin par défaut dans ce champ. Vous devez le changer.
  4. Supposons que le chemin actuel soit 'C:WINDOWSSYSTEM2', vous devez le modifier en 'C:WINDOWSSYSTEM2;c:Program Filesjavajdkin'.

Votre chemin est défini et vous pouvez exécuter n'importe quel code Java confortablement sur votre bureau à l'aide de l'invite de commande.

Comment exécuter le programme Java sous Windows ?

Une fois que vous avez défini le chemin des variables d'environnement, votre configuration pour exécuter n'importe quel code Java est prête. Comment exécuter du code Java après avoir configuré des variables d'environnement ?

  1. Écrivez votre code Java dans des éditeurs de texte, comme Bloc-notes , netbeans , et Éclipse , et enregistrez votre fichier avec l'extension .java.
  2. La chose la plus importante dont vous devez vous souvenir lors de l'enregistrement de votre fichier Java est que le nom du fichier et la classe publique doivent avoir le même nom que celui mentionné dans votre code.
  3. Après avoir écrit le code et enregistré votre fichier, accédez au répertoire où vous avez enregistré votre fichier et ouvrez le invite de commande .
  4. Maintenant, vous devez compiler votre code de fichier en utilisant le ' javac ' mot-clé. Entrez 'javac filename.java.' S'il y a des erreurs, il s'affiche immédiatement. Sinon, vous devez exécuter le code.
  5. Pour exécuter le fichier java, vous devez entrer 'java filename.java'.
  6. Le résultat de votre code s'affichera à l'écran. Si votre code implique une interface graphique, un onglet séparé s'ouvre, affichant l'interface graphique.

Aspects de l'interface graphique Java

L'interface utilisateur graphique Java a trois aspects importants, comme suit :

    Éléments de l'interface utilisateur :

Les éléments de l'interface utilisateur sont les composants requis pour développer l'interface graphique de n'importe quel site Web application. Les éléments de l'interface utilisateur décrivent la représentation visuelle du code. Plusieurs éléments de l'interface utilisateur Java sont présents dans Java Swing, tels que des tableaux, des listes, des volets à onglets, etc.

    Disposition:

Cet aspect de l'interface graphique Java implique la manière dont les éléments de l'interface utilisateur doivent être placés à l'écran. En d'autres termes, à quoi ressemblera l'interface graphique de n'importe quelle application Web ?

    Comportement:

Le comportement est l'événement provoqué lorsque l'utilisateur clique sur un élément de l'interface utilisateur. Par exemple, si un bouton contient le texte 'Connexion', vous vous connectez à un site Web particulier chaque fois que vous cliquez sur ce bouton.

Classes dans l'interface graphique Java Swing

Le package à inclure dans tout code Java pour créer l'interface graphique de toute application Web est le package javax.swing. Il contient toutes les classes et tous les éléments d'interface utilisateur nécessaires à la création de l'interface graphique. Voyons quelques classes significatives du Java Swing.

    Classe de composant :

La classe de composants de Java Swing est la superclasse des composants non liés aux menus de Abstract Window Toolkit. Il existe deux types de composants différents, légers et lourds. Le composant léger est présent sur sa fenêtre native, tandis que le composant lourd n'est pas présent sur la fenêtre native. Faites-nous savoir comment la classe de composant est déclarée.

|__+_|

Vous pouvez créer un nouveau composant à l'aide de la classe constructeur, appelée protected Component().

    Classe de conteneur :

Un conteneur est une combinaison de tous les composants. Vous pouvez voir deux types de conteneurs différents, les conteneurs de niveau supérieur et les conteneurs de niveau inférieur. Dans le conteneur de bas niveau, les composants présents sont plus lourds, comme JPanel, JFrame, JDialog, JApplet et JWindow. Le conteneur de niveau supérieur a des composants, comme JPanel, qui est léger. La syntaxe ci-dessous vous montre comment le conteneur est déclaré.

|__+_|

La classe constructeur utilisée pour créer un nouveau conteneur est Container().

Il existe trois composants principaux de la classe de conteneur, JFrame, JApplet et JPanel.

La classe JFrame est le composant du conteneur de niveau supérieur de Java Swing. Il agit comme un écran pour tous les autres composants de bas niveau, comme les boutons, les champs de texte, les étiquettes, les boutons radio, etc. Chaque fois que vous avez besoin de créer un nouveau cadre, vous devez utiliser JFrame().

Les applets sont des programmes qui peuvent être exécutés sur des navigateurs Web. Chaque applet en Java a un cycle de vie composé de méthodes init, start, stop, destroy et paint. Les applets peuvent être écrites dans n'importe quel autre langage de programmation et s'exécuter sur le Machine virtuelle Java (JVM) . La classe JApplet est utilisée pour représenter la fonction Applet.

Un autre composant principal de la classe Container est JPanel. Ce composant est utilisé pour gérer et organiser tous les autres composants et mises en page. La fonction JPanel() est utilisée pour créer un nouveau panneau dans l'interface graphique Java Swing.

    Classe JComponent :

La classe la plus fondamentale de Java Swing est la classe JComponent. Il inclut tous les composants Java Swing, à l'exception de tous les composants présents dans le conteneur de niveau supérieur. En d'autres termes, les composants dont le nom commence par J sont des descendants de la classe JComponent. Quelques exemples de la classe JComponent sont JButton, JScroolPane, JTable, etc. Les lignes de code suivantes affichent la déclaration de la classe JComponent.

|__+_|

La classe constructeur utilisée pour créer la classe JComponent est JComponent().

Exemple de code d'interface graphique Java Swing pour la création d'un cadre

Nous verrons un code Java qui va créer un Frame.

|__+_|

Le cadre de largeur 400 et de longueur 400 est créé. Le titre du cadre est Ceci est un exemple de création de cadre. Vous pouvez ajouter tout autre composant de bas niveau dans le cadre.

Sortir:

Balançoire Java

Composants de l'interface graphique Java Swing

Plusieurs composants de l'interface graphique Java Swing sont présents dans la classe de conteneur. Le segment d'article ci-dessous vous expliquera comment créer une interface graphique en Java avec des composants. Examinons en détail chaque composant de l'interface graphique Java Swing de bas niveau avec des exemples.

    JLabel :

Nous utilisons le composant JLabel pour afficher le texte ou l'image sur le cadre. Par défaut, le texte que nous saisissons pour l'étiquette est aligné verticalement à la position centrale. Le constructeur JLabel() est utilisé pour créer une étiquette.

Déclaration JLabel :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JLabel :

|__+_|

Sortir:

balançoire java
    Bouton J :

Un autre composant est JButton, qui crée des boutons sur l'écran. Vous pouvez également étiqueter un bouton et ajouter un événement pour exécuter une fonction spécifique chaque fois qu'il est cliqué. Le constructeur utilisé pour créer un nouveau bouton est JButton().

Déclaration de JButton :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JButton :

|__+_|

Sortir:

image 617dd25188b4e
    JColorChooser :

Le composant JColorChooser est utilisé pour changer ou sélectionner une couleur dans la palette de couleurs. Il crée une boîte de dialogue. Si vous utilisez le constructeur JColorChooser(), la couleur par défaut est le blanc. Pour utiliser la couleur spécifiée, vous pouvez utiliser le constructeur JColorChooser( Color initialColor).

Déclaration JColorChooser :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JColorChooser :

|__+_|

Sortir:

Lorsque vous cliquez sur le bouton nommé « couleur », la deuxième fenêtre affichant les couleurs apparaît.

image 617dd251e04b7
    JCheckBox :

JCheckBox est un autre composant de l'interface graphique Java Swing, qui permet aux utilisateurs de sélectionner et de désélectionner plusieurs choix. Il a un état appelé 'on' ou 'off'. Lorsque l'utilisateur clique droit sur la case à cocher, l'état passe à 'on'. La classe constructeur utilisée pour créer des cases à cocher est JCheckBox(). Vous pouvez sélectionner plusieurs cases à cocher selon vos besoins.

Déclaration JCheckBox :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JCheckBox :

|__+_|

Sortir:

image 617dd2529f3c5
    JBoutonRadio :

Nous voyons des boutons radio dans de nombreuses formes ou applications. Il est spécialement utilisé pour sélectionner le sexe, féminin ou masculin. Lorsqu'une seule option doit être choisie parmi plusieurs possibilités, le bouton radio est utilisé. La classe constructeur pour créer des radiobuttons est JRadioButton(). Vous ne pouvez choisir qu'un seul bouton radio à la fois.

Déclaration JRadioButton :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JRadioButton :

|__+_|

Sortir:

image 617dd252e5107
    JList :

Un autre composant de l'interface graphique Java Swing est le JList. Si vous souhaitez afficher une liste d'éléments, vous devez utiliser le composant JList. Comme le JCheckbox, le composant JList permet aux utilisateurs de choisir plusieurs éléments dans la liste. Le constructeur JList() est utilisé pour créer une liste vide. Un autre constructeur, JList(Object[] listData), crée une liste des éléments du tableau.

Déclaration JList :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JList :

|__+_|

Sortir:

image 617dd25356b78
    JComboBox :

Plusieurs fois, il est nécessaire d'inclure une liste déroulante. Le JCombBox est une combinaison d'un champ modifiable et d'une liste. Lorsque l'utilisateur choisit une chose dans la liste déroulante, elle est reflétée dans une zone modifiable. Un seul élément de la liste peut être sélectionné. Le constructeur JComboBox(Object[] items) crée une liste déroulante avec les éléments du tableau.

Déclaration JComboBox :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JComboBox :

|__+_|

Sortir:

image 617dd253be6ed
    JTextField :

Le composant JTextField de l'interface graphique Java Swing permet aux utilisateurs de modifier ou d'éditer une seule ligne de texte. Il est présent sur plusieurs formulaires et sert généralement à saisir des noms dans une seule barre. Le constructeur, JTextField() crée une barre ou un champ de texte vide. Si vous désirez avoir des mots sur votre barre de texte, vous pouvez utiliser le constructeur, JTextField(String text).

Déclaration JTextField :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JTextFeild :

|__+_|

Sortir:

image 617dd25422c01
    JTextArea :

Le composant JTextArea Java Swing GUI est similaire au composant JTextField. Lorsque vous devez saisir plusieurs lignes de texte, le composant JTextArea est utilisé. Au contraire, le composant JTextField n'autorise qu'une seule ligne de texte à saisir. Si vous souhaitez créer une zone de texte vide, utilisez le constructeur JTextArea().

Déclaration JTextArea :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JTextArea :

|__+_|

Sortir:

image 617dd2548c3ef
    JPasswordField :

L'un des composants uniques et extraordinaires de l'interface graphique Java Swing est le composant JPasswordField. Les mots de passe sont requis partout de nos jours, lors de la connexion à n'importe quel site Web, de l'accès à n'importe quelle application, etc. Par conséquent, le JPasswordField intègre une fonction de mot de passe. Le constructeur par défaut utilisé pour créer des champs de mot de passe est JPasswordField().

Déclaration de JPasswordField :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JPasswordField :

|__+_|

Sortir:

image 617dd25503a72
    JScrollBar :

Le composant JScrollBar de l'interface graphique Java Swing est utilisé à des fins de défilement. Les utilisateurs peuvent insérer la barre de défilement verticalement et horizontalement. Le constructeur utilisé pour créer la barre de défilement avec des valeurs initiales est JScrollBar(). Si vous souhaitez modifier l'orientation, vous devez le spécifier, comme JScrollBar(int orientation).

Déclaration JScrollBar :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JScrollBar :

|__+_|

Sortir:

image 617dd25542810
    Barre de progression :

Un autre composant Java Swing présent dans la classe Container est JProgressBar. Il affiche la progression en pourcentage. L'un des exemples courants d'utilisation du composant JProgressBar consiste à afficher le pourcentage de batterie des téléphones mobiles. JProgressBar(int min, int max) est un constructeur qui génère une barre horizontale avec des valeurs minimum et maximum spécifiées.

Déclaration JProgressBar :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JProgressBar :

|__+_|

Sortir:

image 617dd25585524
    Curseur J :

Le composant JSlider de l'interface graphique Java Swing génère un curseur horizontal utilisé pour sélectionner la valeur entre la valeur de plage spécifiée. Le constructeur JSlider() produit un curseur avec des valeurs par défaut allant de 0 à 100, et la valeur initiale est 50.

Déclaration JSlider :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JSlider :

|__+_|

Sortir:

image 617dd255cab41
    J Spinner :

Un autre composant Java Swing pour choisir des valeurs entre la plage spécifiée est le JSpinner. Ce composant crée un spinner qui permet aux utilisateurs de sélectionner n'importe quel montant particulier entre les limites spécifiées. JSpinner() génère un spinner avec des valeurs allant de 0 à aucune limite.

Déclaration JSpinner :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JSpinner :

|__+_|

Sortir:

image 617dd25650247
    JOptionPane :

Si vous souhaitez qu'une boîte de dialogue s'affiche à l'écran après avoir cliqué sur un bouton, le composant JOPtionPane est utilisé. Lorsque vous utilisez le composant JOptionPane, une boîte de dialogue apparaît avec un message spécifié. Le constructeur JOptionPane crée une boîte de dialogue avec une zone de texte. Pour ajouter une note particulière dans la boîte de dialogue, utilisez JOptionPane(Object message).

Déclaration JOptionPane :

|__+_|

Fenêtre d'interface utilisateur de code d'exemple Java utilisant JOptionPane :

|__+_|

Sortir:

image 617dd256d0232

Conclusion

Java est le langage de programmation flexible et indépendant de la plate-forme. Le package Java Swing est utilisé pour créer l'interface utilisateur graphique de toute application Web ou site Web. Nous avons discuté du package Java Swing, de ses fonctionnalités et de la différence entre Abstract Windows Toolkit (AWT) et Java Swing.

Plus tard, nous avons vu trois classes Java Swing distinctes, la classe Component, la classe Container et la classe JComponent. L'exemple de code Java pour la classe JFrame montre comment créer des cadres en Java.

Enfin, nous avons parcouru quelques éléments importants de l'interface graphique Java Swing, leurs déclarations et leurs exemples respectifs. Chaque composant de l'interface graphique Java Swing est bien expliqué avec un exemple détaillé. Cet article est un guide complet pour les débutants de Java Swing.