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.

Document source
Java Programming and Databases · PDF · 10 pages
Afficher l'aperçu du document
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
JLabelpour les étiquettes "Login" et "Mot de passe" - Des
JTextFieldpour la saisie du login - Des
JPasswordFieldpour la saisie du mot de passe - Des
JButtonpour 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 :
- Disposer d’un serveur MySQL actif (ex. XAMPP, MySQL natif).
- Dans l’IDE (NetBeans ou Eclipse), accéder à l’onglet Services puis Databases.
- Enregistrer le serveur MySQL en renseignant les paramètres du serveur (commandes de démarrage et d’arrêt).
- Créer une base de données nommée
testsur ce serveur. - Connecter la base de données
testdans l’IDE. - Tester la connexion à la base de données.
- Renseigner le driver JDBC adéquat, ici
com.mysql.jdbc.Driver. - 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.
Commentaires
Aucun commentaire pour le moment. Posez la première question.