import java.awt.Color; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.JTextField; public class ConnexionFenetre extends JFrame implements ActionListener { private JButton b_ok; private JButton b_quitter; private JTextField tF_Utilisateur; private JTextField tF_MotDePasse; private JTextField tF_NomBase; private static Connection conn = null; public ConnexionFenetre(){ super(); build();//On initialise la fenêtre de connexion } private void build(){ setTitle("Connexion"); setSize(320,240); //On donne une taille à la fenêtre de connexion setLocationRelativeTo(null); //On centre la fenêtre sur l'écran setResizable(false); //On interdit la redimensionnement de la fenêtre setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à la fenêtre de connexion de se fermer lors du clic sur la croix setContentPane(buildContentPane()); } private JPanel buildContentPane(){ JPanel panel = new JPanel(); panel.setLayout(new GridBagLayout()); panel.setBackground(Color.white); JLabel l_Utilisateur = new JLabel("Utilisateur"); //panel.add(l_Utilisateur); tF_Utilisateur = new JTextField(); tF_Utilisateur.setColumns(10); //On lui donne un nombre de colonnes à afficher //panel.add(tF_Utilisateur); //System.out.println(tF_Utilisateur.getText()); JLabel l_MotDePasse = new JLabel("Mot de passe"); //panel.add(l_MotDePasse); tF_MotDePasse = new JTextField(); tF_MotDePasse.setColumns(10); //On lui donne un nombre de colonnes à afficher //panel.add(tF_MotDePasse); JLabel l_NomBase = new JLabel("Nom de la base"); //panel.add(l_NomBase); tF_NomBase = new JTextField(); tF_NomBase.setColumns(10); //On lui donne un nombre de colonnes à afficher //panel.add(tF_NomBase); b_ok = new JButton("OK"); b_ok.addActionListener(this); //panel.add(b_ok); b_quitter = new JButton("Quitter"); b_quitter.addActionListener(this); //panel.add(b_quitter); b_ok.setPreferredSize(b_quitter.getPreferredSize()); b_ok.setMinimumSize(b_quitter.getMinimumSize()); /*3- Ajout de ces composants en spécifiant les contraintes de type GridBagConstraints. */ GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = gbc.gridy = 0; panel.add(l_Utilisateur, gbc); gbc.gridx = 1; gbc.gridy = 0; panel.add(tF_Utilisateur, gbc); gbc.gridx = 0; gbc.gridy = 1; panel.add(l_MotDePasse, gbc); gbc.gridx = 1; gbc.gridy = 1; panel.add(tF_MotDePasse, gbc); gbc.gridx = 0; gbc.gridy = 2; panel.add(l_NomBase, gbc); gbc.gridx = 1; gbc.gridy = 2; panel.add(tF_NomBase, gbc); gbc.gridx = 0; gbc.gridy = 5; gbc.anchor = GridBagConstraints.BASELINE_TRAILING; gbc.insets = new Insets(10, 15, 10, 0); // gbc.gridx = 0; // gbc.gridy = 4; panel.add(b_ok, gbc); gbc.gridx = 1; gbc.gridy = 5; gbc.insets = new Insets(10, 15, 10, 25); panel.add(b_quitter, gbc); return panel; } public JTextField get_tF_Utilisateur(){ return this.tF_Utilisateur; } public JTextField get_tF_MotDePasse(){ return this.tF_MotDePasse; } public JTextField get_tF_NomBase(){ return this.tF_NomBase; } private void etablir_Connexion(){ try { //chargement d'un pilote JDBC Oracle et creation d'une connexion DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver() ); conn = DriverManager.getConnection("jdbc:oracle:oci8:@****:"+tF_NomBase.getText(),tF_Utilisateur.getText(),tF_MotDePasse.getText()); } //GESTION DES ERREURS catch (SQLException ex) { System.err.println("Erreur lors de la connexion: " +ex); } } public static Connection get_Connexion(){ return conn; } public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if(source == b_ok){ System.out.println("Vous allez établir la connexion"); this.etablir_Connexion(); if (conn != null) { System.out.println("La connexion est bien établie"); } this.setVisible(false); } else if(source == b_quitter){ System.out.println("Vous aller quitter"); this.setVisible(false); } } }