Java Tutoriel Swing : Comment créer une application GUI dans Java

Qu'est-ce que le Swing dans Java?

Balancez-vous Java est une boîte à outils d'interface utilisateur graphique (GUI) qui inclut les composants de l'interface utilisateur graphique. Swing fournit un ensemble riche de widgets et de packages pour créer des composants d'interface utilisateur graphique sophistiqués pour Java applications. Swing fait partie de Java Foundation Classes(JFC), qui est une API pour Java Programmation GUI qui fournit une interface graphique.

Votre partenaire Java La bibliothèque Swing est construite au sommet de la Java Boîte à outils de widgets abstraits (AWT), une ancienne boîte à outils GUI dépendante de la plate-forme. Vous pouvez utiliser le Java des composants de programmation d'interface utilisateur simples tels que des boutons, des zones de texte, etc., à partir de la bibliothèque et vous n'avez pas besoin de créer les composants à partir de zéro.

Dans ce nouvel article concernant notre nouveau projet Java Tutoriel Swing, vous apprendrez Java Les bases de l'interface graphique comme-

Java Diagramme de hiérarchie de la classe Swing

Java Diagramme de hiérarchie des classes Swing
Java Diagramme de hiérarchie des classes Swing

Tous les composants dans Java Swing est un composant JComponent qui peut être ajouté aux classes conteneurs.

Qu’est-ce qu’une classe conteneur ?

Les classes conteneurs sont des classes qui peuvent contenir d’autres composants. Donc pour créer un Java Swing GUI, nous avons besoin d'au moins un objet conteneur. Il existe 3 types de Java Conteneurs pivotants.

  1. Webinars: C'est un pur conteneur et n'est pas une fenêtre en soi. Le seul but d'un Panel est d'organiser les composants sur une fenêtre.
  2. Cadre métallique robuste: C'est une fenêtre entièrement fonctionnelle avec son titre et ses icônes.
  3. Dialogue: Cela peut être considéré comme une fenêtre contextuelle qui apparaît lorsqu'un message doit être affiché. Ce n'est pas une fenêtre entièrement fonctionnelle comme le Frame.

Qu'est-ce que l'interface graphique dans Java?

GUI (interface utilisateur graphique) dans Java est un générateur d'expérience visuelle facile à utiliser pour Java applications. Il est principalement constitué de composants graphiques tels que des boutons, des étiquettes, des fenêtres, etc. à travers lesquels l'utilisateur peut interagir avec une application. L'interface graphique joue un rôle important pour créer des interfaces simples pour Java applications.

Comment créer une interface graphique dans Java avec exemple

Maintenant dans ce Java Tutoriel GUI, comprenons comment créer une interface graphique dans Java avec des balançoires dans Java exemples.

Étape 1) Copier le code dans un éditeur
Dans un premier temps, copiez le code suivant dans un éditeur.

import javax.swing.*;
class gui{
    public static void main(String args[]){
       JFrame frame = new JFrame("My First GUI");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(300,300);
       JButton button = new JButton("Press");
       frame.getContentPane().add(button); // Adds Button to content pane of frame
       frame.setVisible(true);
    }
}

Étape 2) Exécutez le code
Étape suivante, enregistrer, compiler et exécuter le code

Étape 3) Copiez le code suivant dans un éditeur
Ajoutons maintenant un bouton à notre cadre. Copiez le code suivant dans un éditeur à partir de Java Exemple d'interface utilisateur

import javax.swing.*;
   class gui{
      public static void main(String args[]){
        JFrame frame = new JFrame("My First GUI");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
       JButton button1 = new JButton("Press");
       frame.getContentPane().add(button1);
       frame.setVisible(true);
     }
}
Étape 4) Exécutez le code
Ensuite, exécutez le code. Vous obtiendrez un gros bouton.


Java Exemple d'interface graphique

Étape 5) Ajouter deux boutons

Et si vous ajoutiez deux boutons ? Copiez le code suivant dans un éditeur.

import javax.swing.*;
class gui{
      public static void main(String args[]){
           JFrame frame = new JFrame("My First GUI");
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.setSize(300,300);
          JButton button1 = new JButton("Button 1");
          JButton button2 = new JButton("Button 2");
          frame.getContentPane().add(button1);
          frame.getContentPane().add(button2);
          frame.setVisible(true);
     }
}

Étape 6) Enregistrez et exécutez le programme
Ensuite, enregistrez, compilez et exécutez le programme.

Étape 7) Vérifier la sortie
Sortie inattendue = ? Les boutons se chevauchent.


Java Gestionnaire de mise en page

Le gestionnaire de mise en page est utilisé pour mettre en page (ou organiser) l'interface graphique. Java composants à l’intérieur d’un conteneur. Il existe de nombreux gestionnaires de mise en page, mais les plus fréquemment utilisés sont :

Java Disposition des bordures

A BorderLayout place les composants dans cinq zones maximum : haut, bas, gauche, droite et centre. C'est le gestionnaire de mise en page par défaut pour chaque JFrame Java

Java Disposition des bordures
Java Disposition des bordures

Java Disposition du flux

FlowLayout est le gestionnaire de mise en page par défaut pour chaque JPanel. Il dispose simplement les composants sur une seule ligne, les uns après les autres.

Java Disposition du flux
Java Disposition du flux

Java GrilleBagLayout

C’est la plus sophistiquée de toutes les mises en page. Il aligne les composants en les plaçant dans une grille de cellules, ce qui permet aux composants de s'étendre sur plusieurs cellules.

Java GrilleBagLayout

Java GrilleBagLayout

Étape 8) Créer un cadre de discussion
Que diriez-vous de créer un cadre de discussion comme ci-dessous ?


Exemple de Java GUI

Essayez de vous coder avant de regarder le programme ci-dessous.

//Usually you will require both swing and awt packages
// even if you are working with just swings.
import javax.swing.*;
import java.awt.*;
class gui {
    public static void main(String args[]) {

        //Creating the Frame
        JFrame frame = new JFrame("Chat Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);

        //Creating the MenuBar and adding components
        JMenuBar mb = new JMenuBar();
        JMenu m1 = new JMenu("FILE");
        JMenu m2 = new JMenu("Help");
        mb.add(m1);
        mb.add(m2);
        JMenuItem m11 = new JMenuItem("Open");
        JMenuItem m22 = new JMenuItem("Save as");
        m1.add(m11);
        m1.add(m22);

        //Creating the panel at bottom and adding components
        JPanel panel = new JPanel(); // the panel is not visible in output
        JLabel label = new JLabel("Enter Text");
        JTextField tf = new JTextField(10); // accepts upto 10 characters
        JButton send = new JButton("Send");
        JButton reset = new JButton("Reset");
        panel.add(label); // Components Added using Flow Layout
        panel.add(tf);
        panel.add(send);
        panel.add(reset);

        // Text Area at the Center
        JTextArea ta = new JTextArea();

        //Adding Components to the frame.
        frame.getContentPane().add(BorderLayout.SOUTH, panel);
        frame.getContentPane().add(BorderLayout.NORTH, mb);
        frame.getContentPane().add(BorderLayout.CENTER, ta);
        frame.setVisible(true);
    }
}

En savoir plus Lire la suite