Vous êtes sur la page 1sur 5

La Faculté des Sciences de Tétouan (FS - Tétouan)

Examen du Module
ARCHITECTURE DISTRIBUÉE

Departement : informatique Barème :20 Pts.


Niveau : Licence SMI Durée : 1H15

Important :
Il sera pris en considération la présentation et la clarté du code proposé.

Exercice 1 (5pts)
Ecrire le code de la fonction Getconnection (en bas) pour avoir une fonction qui permet d’ouvrir une
connexion JDBC avec une base des données avec les coordonnées suivantes :

- Type de la base des données : Mysql


- Adresse IP du serveur : 127.0.0.1
- Port de la base des données : 3306
- Nom de la base des données : BddProd
- Login de l’utilisateur : User05
- Password de l’utilisateur : Exam19

1
Exercice 2 (15pts)
a- Ecrire le code java de deux classes (JFrame) qui permet de réaliser le scénario suivant :
- Largeur et longueur des deux interfaces graphique : 300 x 500
- On cliquant sur le bouton «recuperer ligne selectionnée », les données de la ligne sélectionnée
dans jTable vont être transféré et affiché dans la deuxième interface selon le schéma suivant :

Dans le cas : La deuxième ligne de jTable est


sélectionnée

2
Solution :
Exercice 1 :====================================================
public class acces_donnee {

public static Connection Getconnect(){


Connection cn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/BddProd","User05","Exam19");

} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}

return cn;
}

Exercice 2 :====================================================

==========Main() class==========
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

/**
*
* @author MOHAMED AMINE SABBAHI
*/

public class Main extends JFrame{


private JPanel pan = new JPanel();
private JTable jtb = new JTable();

private JButton btn = new JButton("recuperer ligne selectionnee");

public Main(){

this.setTitle("Ma premier fenetre");


this.setLocationRelativeTo(null);
this.setSize(300, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(pan);
pan.setBackground(Color.orange);

String[] titres = new String[3];


titres[0]="col1";

3
titres[1]="col2";
titres[2]="col3";

String[][] table = {{"D_00","D_01","1202"},{"D_10","D_11","2212"},{"D_20","D_21","1122"}};


Object[][] obj= new Object[table.length][3];
for (int i=0; i<table.length; i++){
obj[i][0]=table[i][0];
obj[i][1]=table[i][1];
obj[i][2]=table[i][2];
}

DefaultTableModel aModel = new DefaultTableModel(obj, titres);


jtb.setModel(aModel);
pan.add(jtb);

pan.add(btn);

btn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
String col1 = (String) jtb.getValueAt(jtb.getSelectedRow(), 0);
String col2 = (String) jtb.getValueAt(jtb.getSelectedRow(), 1);
String col3 = (String) jtb.getValueAt(jtb.getSelectedRow(), 2);

new Fnenetre2(col1, col2, col3);


}

});

this.setVisible(true);
}

public static void main(String[] args){

new Main();
}
}
==========Fenetre2.java class==========
import java.awt.Color;
import javax.swing.*;

public class Fnenetre2 extends JFrame{

private JPanel pan = new JPanel();


private JTextField jtf1 = new JTextField();
private JTextField jtf2 = new JTextField();
private JTextField jtf3 = new JTextField();

private JLabel lb1 = new JLabel("Colonne 1:");

4
private JLabel lb2 = new JLabel("Colonne 2:");
private JLabel lb3 = new JLabel("Colonne 3:");

public Fnenetre2(String col1, String col2, String col3) {


this.setTitle("Ma premier fenetre");
this.setLocationRelativeTo(null);
this.setSize(300, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(pan);
pan.setBackground(Color.orange);

jtf1.setText(col1);
jtf2.setText(col2);
jtf3.setText(col3);

pan.add(lb1);
pan.add(jtf1);

pan.add(lb2);
pan.add(jtf2);

pan.add(lb3);
pan.add(jtf3);

this.setVisible(true);
}
}

Vous aimerez peut-être aussi