Les interfaces graphique en JAVA

Java Programming and Databases · course

Browse all programmation documents

TP

Les interfaces graphique en JAVA

Objectifs

Temps alloué

Outils

‐ Développer des GUI en utilisant les Swing.

‐ Manipuler les évènements

S’initier  à  la  connexion  avec  une  base  de

données.

4h30

Eclipse/NetBeans

Étude de cas : Interface de Login

A­ Volet Projet

Nous voulons développer une interface d’authentification, en utilisant les Swing.

L’allure de l’interface est la suivante :

1

FIG 1 : Interface d’authentification

Etape 1 : La construction de l’interface :

 Objectif : Sélectionner les composants adéquats dans le JFrame

Etape 2 : Le code des composants de l’interface :

Etape 3 : Le fonctionnement de l’inteface :

Le bouton Login :

Si le Login et mot de passe sont corrects afficher la fenêtre suivante :

Si le login est incorrect alors afficher la fenêtre suivante :

FIG 2 : Success

2

FIG 3 : Error

Si le login est correct et le mot de passe est incorrect alors afficher la

Advertisement

fenêtre suivante :

FIG 4 : Error

Si le login et le mot de passe sont incorrects :

FIG 5 : Error

3

Le bouton SignIn :

En cliquant sur ce bouton le formulaire suivant s’affiche afin d’enregistrer un

nouveau Utilisateur :

Valider : insère un nouveau user dans la base de données.

Annuler : annule la transaction en initialisant les champs.

4

Etape 4 : Le contrôle de saisie

Pour chaque zone de saisi, vous devez effectuer un contrôle de saisi rigoureux afin

de s’assurer que les bonnes valeurs sont insérées dans la base de données.

B­ Volet base de données

Comment se connecter à une base de données MySql à partir de NetBeans?

1. Vous devez disposer d’une instance du serveur de BDD MySql, XAMP,

MySql,…

2. L’onglet Services, Datatbases,

3. Register MySql Server, examinez les paramètres ci‐dessous.

Puis renseignez les paramètres du serveur (start command & stop

command)

4. Créer la base de données « test » sous le serveur MySql :

5

5. Connectez la base de données « test »

6. Tester la connexion à votre BDD

7. Puis renseigner le Driver adéquat :

6

8. Tester la connexion

7

La base de données s’appelle test, elle a les paramètres suivants :

Advertisement

 Configurez votre environnement Eclipse ou NetBeans pour pouvoir se

connecter à la base de donnés MySql.

 Le Driver est « com.mysql.jdbc.Driver, le lien de téléchargement est :

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

 Vous disposez du code suivant permettant la connexion à la base de

données « test ».

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="";

8

Connection cnx =

DriverManager.getConnection(url,user,password);

System.out.println("Connexion bien établie");

return cnx;

}

catch(Exception e)

{

e.printStackTrace();

return null;

}

}

}

9. Créez la table « user » qui possède la structure suivante :

Advertisement

Description

Primary Key

Colonne

login

matricule

nom

prenom

mot_de_passe

etat

Type

VarChar(20)

Int (10)

VarChar(20)

VarChar(20)

VarChar(20)

char

10. Programmez les boutons login et SignIn.

11. Code du bouton Login :

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

String sql = ("SELECT mot_de_passe FROM user WHERE login

='"+login+"'");

Statement smt = cnx.createStatement();

ResultSet rs = smt.executeQuery(sql) ;

9

Advertisement

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());

}

}

10