Vous êtes sur la page 1sur 5

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

Examen de Fin Module


ARCHITECTURE DISTRIBUÉE

Departement : informatique Barème :20 Pts.


Niveau : Licence SMI Durée : 1H00

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

Exercice 1 (6pts)
Compléter les deux instructions qui manquent dans 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 : BddTest
- Login de l’utilisateur : root
- Password de l’utilisateur : Mysql

Les deux instructions pour faire la connexion avec la base des données

1
Exercice 2 (14pts)
a- Ecrire le code java d’une classe (JFrame) qui permet afficher l’interface graphique suivante (avec
une JTABLE):
NB : Largeur et longueur de l’interface graphique : 200 x 400

b- Ecrire le code java (en se basant sur la question précédente) pour avoir 3 champs (ligne, colonne,
valeur) et permet de modifier la valeur d’une cellule du jTable

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/BddTest","root","Mysql");

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

return cn;
}

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

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

import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Fenetre extends JFrame{

private JPanel pan = new JPanel();


private JTable jTable1 = new JTable();

private JLabel jLabelL = new JLabel("ligne");


private JTextField JTextFL = new JTextField(" ");
private JLabel jLabelC = new JLabel("colonne");
private JTextField JTextFC = new JTextField(" ");
private JLabel jLabelV = new JLabel("valeur");
private JTextField JTextFV = new JTextField(" ");

private JButton bouton = new JButton("modifier element table");

3
public Fenetre(){

this.setTitle("Ma première fenêtre");


this.setSize(200, 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

pan.setBackground(Color.ORANGE);

String[] titres = new String[2];


titres[0] = "col1"; titres[1]="col2";

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


Object[][] datas = new Object[table.length][2];

for(int i=0; i<table.length;i++){


datas[i][0] = table[i][0];
datas[i][1] = table[i][1];
}

DefaultTableModel aModel = new DefaultTableModel(datas,titres) ;

jTable1.setModel(aModel);

pan.add(jTable1);

pan.add(jLabelL);
pan.add(JTextFL);
pan.add(jLabelC);
pan.add(JTextFC);
pan.add(jLabelV);
pan.add(JTextFV);

pan.add(bouton);

this.setContentPane(pan);
this.setVisible(true);

4
bouton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(ActionEvent e) {

int Nligne = Integer.parseInt( JTextFL.getText());


int Ncolonne = Integer.parseInt( JTextFC.getText());
String NValeur = JTextFV.getText();

jTable1.setValueAt(NValeur, Ncolonne, Nligne);

}
});

// methode main non demandé dans l exam - seulement pour test


public static void main(String args[]) {

Fenetre FF = new Fenetre();


}

Vous aimerez peut-être aussi