Les interfaces graphique en JAVA

Ce document présente les notions essentielles pour développer une interface graphique en Java avec Swing, gérer les événements et se connecter à une base de données MySQL. Il s'adresse aux étudiants en informatique souhaitant apprendre à créer une interface d'authentification fonctionnelle avec validation des données et interaction avec une base de données.

D'après le document Les interfaces graphique en JAVA

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Les interfaces graphique en JAVA

Document source

Les interfaces graphique en JAVA

Java Programming and Databases · PDF · 10 pages

Afficher l'aperçu du document

Consulter le document original →

Ce document présente les notions essentielles pour développer une interface graphique en Java avec Swing, gérer les événements et se connecter à une base de données MySQL. Il s'adresse aux étudiants en informatique souhaitant apprendre à créer une interface d'authentification fonctionnelle avec validation des données et interaction avec une base de données.

Développement d’une interface graphique en Java avec Swing

L’objectif principal est de construire une interface d’authentification simple utilisant les composants Swing de Java. L’interface comprend notamment des champs de saisie pour le login et le mot de passe, ainsi que deux boutons : Login et SignIn.

Étape 1 : Construction de l’interface

Il faut sélectionner les composants adéquats dans un JFrame pour créer l’interface. Typiquement, on utilise :

  • Des JLabel pour les étiquettes "Login" et "Mot de passe"
  • Des JTextField pour la saisie du login
  • Des JPasswordField pour la saisie du mot de passe
  • Des JButton pour les actions "Login" et "SignIn"

Étape 2 : Codage des composants

Chaque composant est instancié et ajouté dans le JFrame. Il est nécessaire de définir un gestionnaire d’événements pour les boutons afin de déclencher les actions associées.

Étape 3 : Fonctionnement de l’interface

Le bouton Login déclenche la vérification des identifiants :

  • Si le login et le mot de passe sont corrects, une fenêtre de succès s’affiche.
  • Si le login est incorrect, une fenêtre d’erreur "Login incorrect" apparaît.
  • Si le login est correct mais le mot de passe est incorrect, une fenêtre d’erreur "Mot de passe incorrect" apparaît.
  • Si les deux sont incorrects, une fenêtre d’erreur générale s’affiche.

Le bouton SignIn ouvre un formulaire d’enregistrement d’un nouvel utilisateur. Ce formulaire comporte :

  • Un bouton Valider qui insère un nouvel utilisateur dans la base de données.
  • Un bouton Annuler qui réinitialise les champs du formulaire.

Étape 4 : Contrôle de saisie

Pour chaque zone de saisie, un contrôle rigoureux est nécessaire afin de garantir que seules des valeurs valides sont insérées dans la base de données. Cela évite les erreurs et les injections SQL.

Connexion à une base de données MySQL depuis NetBeans ou Eclipse

Pour connecter une application Java à une base de données MySQL, plusieurs étapes sont nécessaires :

  1. Disposer d’un serveur MySQL actif (ex. XAMPP, MySQL natif).
  2. Dans l’IDE (NetBeans ou Eclipse), accéder à l’onglet Services puis Databases.
  3. Enregistrer le serveur MySQL en renseignant les paramètres du serveur (commandes de démarrage et d’arrêt).
  4. Créer une base de données nommée test sur ce serveur.
  5. Connecter la base de données test dans l’IDE.
  6. Tester la connexion à la base de données.
  7. Renseigner le driver JDBC adéquat, ici com.mysql.jdbc.Driver.
  8. Tester à nouveau la connexion.

Le driver JDBC peut être téléchargé à l’adresse suivante :

http://www.java2s.com/Code/Jar/c/Downloadcommysqljdbc515jar.htm

Exemple de code Java pour la connexion à la base de données

import java.sql.Connection;
import java.sql.DriverManager;

public class DBConnection {
    // Variable pour la connexion
    public Connection cnx;

    public Connection connecterDB() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Driver ok");
            String url = "jdbc:mysql://localhost:3306/test";
            String user = "root";
            String password = "";

            Connection cnx = DriverManager.getConnection(url, user, password);
            System.out.println("Connexion bien établie");
            return cnx;
        } catch(Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

Structure de la table utilisateur

La table user dans la base de données test possède la structure suivante :

Colonne Type Clé primaire
login VarChar(20) Oui
matricule Int(10) Non
nom VarChar(20) Non
prenom VarChar(20) Non
mot_de_passe VarChar(20) Non
etat char Non

Programmation du bouton Login

Le bouton Login est programmé pour vérifier les identifiants saisis en interrogeant la base de données :

private void bt_loginActionPerformed(java.awt.event.ActionEvent evt) {
    // Objet pour se connecter à la base de données
    DBConnection b = new DBConnection();
    Connection cnx;

    String login = txt_login.getText();
    String mdp = txt_mdp.getText();
    cnx = b.connecterDB();

    try {
        // Création de la requête SQL
        String sql = ("SELECT mot_de_passe FROM user WHERE login ='" + login + "'");
        Statement smt = cnx.createStatement();
        ResultSet rs = smt.executeQuery(sql);

        System.out.println("\nle rs est " + rs);
        int option = 0;
        if(rs.next()) {
            String motDePasse = rs.getString(1);
            if(motDePasse.equals(mdp)) {
                JOptionPane.showMessageDialog(null, "Connexion réussie !", "Success", JOptionPane.PLAIN_MESSAGE);
                if(option == JOptionPane.OK_OPTION)
                    new MainMenu().setVisible(true);
                this.hide();
            } else {
                JOptionPane.showMessageDialog(null, "Mot de passe incorrect !", "Error", 1);
            }
        } else {
            JOptionPane.showMessageDialog(null, "Login incorrect !", "Error", 1);
        }
    } catch (SQLException e) {
        System.out.println(e.getMessage());
    }
}

Glossaire des termes clés

  • JFrame : Fenêtre principale dans une application Swing.
  • JLabel : Composant Swing affichant un texte statique.
  • JTextField : Champ de saisie texte simple.
  • JPasswordField : Champ de saisie masquée pour les mots de passe.
  • JButton : Bouton cliquable déclenchant une action.
  • Driver JDBC : Pilote permettant la communication entre Java et une base de données.
  • Connection : Objet représentant la connexion active à une base de données.
  • Statement : Objet permettant d’exécuter des requêtes SQL.
  • ResultSet : Résultat d’une requête SQL, sous forme de tableau de données.
  • Base de données MySQL : Système de gestion de base de données relationnelle.

Points clés à retenir

  • La création d’une interface graphique en Java Swing nécessite la sélection et l’assemblage des composants adéquats dans un JFrame.
  • La gestion des événements, notamment les clics sur les boutons, permet d’interagir avec l’utilisateur et la base de données.
  • La connexion à une base de données MySQL s’effectue via un driver JDBC et nécessite la configuration correcte du serveur et de l’IDE.
  • Le contrôle de saisie est indispensable pour garantir la validité des données insérées dans la base.
  • La programmation du bouton Login repose sur une requête SQL qui vérifie la correspondance entre le login et le mot de passe saisis et ceux stockés en base.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions