Salut Alex et merci pour ton aide.
En mon interface graphique est en MVC ( Modele Vue Controleur). Je doit donc faire passer les données à inserer de la vue au modele via le controleur. C'est le modele qui est connecté à la base et qui assure l'enregistrement.
Je te transmets le code que j'ai écrit.
1-Pour le modele
package bandeModel;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JTextField;
import bandeVue.ajoutmodifutilVue;
public class ajoutmodifutilModel {
public ajoutmodifutilModel() {
}
public void insertion(JTextField field, JTextField field2, JTextField field3, JTextField field4, JTextField field5){
String pilote = "com.mysql.jdbc.Driver";
try{
Class.forName(pilote);
Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/basebande","root","");
Statement instruction = connexion.createStatement();
int rs = instruction.executeUpdate("insert into utilisateurs(nom,prenom,login,password,profil) values('field','field2','field3','field4','field5')");
}
catch (Exception e){
System.out.println("echec pilote : "+e);
}
}
//lancement de l'insertion
public static void main(String args[]){
ajoutmodifutilModel model=new ajoutmodifutilModel();
ajoutmodifutilVue vue=new ajoutmodifutilVue(model);
vue.setVisible(true);
}
}
2-
Pour la vue:
package bandeVue;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.SwingConstants;
import javax.swing.border.MatteBorder;
import bandeControleur.ajoutmodifutilControleur;
import bandeModel.ajoutmodifutilModel;
public class ajoutmodifutilVue extends JFrame {
private ajoutmodifutilControleur controleur;
private ajoutmodifutilModel model;
private JTextField proField;
private JTextField passField;
private JTextField loginField;
private JTextField prenomField;
private JTextField nomField;
/**
* Launch the application
* @param args
public static void main(String args[]) {
try {
ajoutmodifutilVue frame = new ajoutmodifutilVue();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}*/
/**
* Create the frame
*/
public ajoutmodifutilVue(ajoutmodifutilModel model) {
super();
this.model=model;
ajoutmodifutilControleur controleur=new ajoutmodifutilControleur(this,model);
getContentPane().setLayout(new GridLayout(6, 0));
setBackground(new Color(100, 149, 237));
setTitle("Ajout ou modification d'un utilisateur");
setBounds(100, 100, 509, 366);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel nomLabel = new JLabel();
nomLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));
nomLabel.setHorizontalAlignment(SwingConstants.CENTER);
nomLabel.setBackground(new Color(135, 206, 235));
nomLabel.setText("Nom");
getContentPane().add(nomLabel);
nomField = new JTextField();
getContentPane().add(nomField);
final JLabel prenomLabel = new JLabel();
prenomLabel.setHorizontalAlignment(SwingConstants.CENTER);
prenomLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));
prenomLabel.setBackground(new Color(135, 206, 235));
prenomLabel.setText("Prenom");
getContentPane().add(prenomLabel);
prenomField = new JTextField();
getContentPane().add(prenomField);
final JLabel loginLabel = new JLabel();
loginLabel.setHorizontalAlignment(SwingConstants.CENTER);
loginLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));
loginLabel.setBackground(new Color(135, 206, 235));
loginLabel.setText("Login");
getContentPane().add(loginLabel);
loginField = new JTextField();
getContentPane().add(loginField);
final JLabel passwordLabel = new JLabel();
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);
passwordLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));
passwordLabel.setBackground(new Color(135, 206, 235));
passwordLabel.setText("Password");
getContentPane().add(passwordLabel);
passField = new JTextField();
getContentPane().add(passField);
final JLabel profilLabel = new JLabel();
profilLabel.setHorizontalAlignment(SwingConstants.CENTER);
profilLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));
profilLabel.setBackground(new Color(135, 206, 235));
profilLabel.setText("Profil");
getContentPane().add(profilLabel);
proField = new JTextField();
getContentPane().add(proField);
final JToggleButton validerBut = new JToggleButton();
validerBut.setBorder(new MatteBorder(0, 0, 0, 0, Color.black));
validerBut.setMaximumSize(new Dimension(100, 50));
validerBut.setFont(new Font("@Arial Unicode MS", Font.BOLD, 28));
validerBut.setBackground(new Color(102, 205, 170));
validerBut.setActionCommand("valider");
validerBut.setText("Valider");
validerBut.addActionListener(controleur);
getContentPane().add(validerBut);
final JToggleButton annulerBut = new JToggleButton();
annulerBut.setFont(new Font("@Arial Unicode MS", Font.BOLD, 28));
annulerBut.setBackground(new Color(255, 69, 0));
annulerBut.setActionCommand("annuler");
annulerBut.setText("Annuler");
annulerBut.addActionListener(controleur);
getContentPane().add(annulerBut);
//
}
public JTextField getLoginField() {
return loginField;
}
public void setLoginField(JTextField loginField) {
this.loginField = loginField;
}
public JTextField getNomField() {
return nomField;
}
public void setNomField(JTextField nomField) {
this.nomField = nomField;
}
public JTextField getPassField() {
return passField;
}
public void setPassField(JTextField passField) {
this.passField = passField;
}
public JTextField getPrenomField() {
return prenomField;
}
public void setPrenomField(JTextField prenomField) {
this.prenomField = prenomField;
}
public JTextField getProField() {
return proField;
}
public void setProField(JTextField proField) {
this.proField = proField;
}
}
3- Pour le controleur:
package bandeControleur;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import bandeModel.ajoutmodifutilModel;
import bandeVue.ajoutmodifutilVue;
public class ajoutmodifutilControleur implements ActionListener {
private ajoutmodifutilVue vue;
private ajoutmodifutilModel model;
//constructeur de la classe ajoutmodifutilControleur
public ajoutmodifutilControleur(ajoutmodifutilVue vue, ajoutmodifutilModel model){
this.model=model;
this.vue=vue;
}
public void actionPerformed(ActionEvent e){
if( e.getActionCommand()== "valider"){
model.insertion(vue.getNomField(),vue.getPrenomField(),vue.getLoginField(),vue.getPassField(),vue.getProField());
vue.setVisible(false);
}
}
}
Merci pour tes suggestions