Bonjour,
je vous explique mon problème :
je n'a pas pu me connecter à la base de donné
et les MessageDialog ne s'affiche pas
les MessageDialog: "connexion ok" et "connexion echouee" et"vous avez essaye plusieur fois ,reessayer plus tard!"
ne s'affichent pas seulement le MessageDialog "Connexion a la base echoue " qui s'affiche si EasyPHP est fermé . quand je clic sur le JButton il ne se passe rien dans les autre cas .
les autres Messages ne s'affiche pas et il n'a pas d'erreur dans le code .
Je ne sais pas quoi faire , aidez moi
Je remarqué un autre problème le MessageDialog "Connexion a la base echoue " s'affiche après un certain temps au lieu des autres Message Dialog
quel qu’un peut m'aidez
et merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 okButton = new JButton("OK"); okButton.setActionCommand("OK"); buttonPane.add(okButton); getRootPane().setDefaultButton(okButton); okButton.addActionListener(this); cancelButton = new JButton("Cancel"); cancelButton.setActionCommand("Cancel"); buttonPane.add(cancelButton); cancelButton.addActionListener(this); public void actionPerformed(ActionEvent e) { if (e.getSource() == okButton) { //activer le progressBar action(); progressBar.setString("validation"); progressBar.setStringPainted(true); } if(e.getSource()==cancelButton) {System.exit(0);} void action() { . . . . . . }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 void action() { new Thread(new Runnable() { public void run() { try { progressBar.setValue(value); value++; Thread.sleep(15); } catch (InterruptedException ex) {ex.printStackTrace();} if (progressBar.getPercentComplete() == 1.0) { // - Paramètres de connexion à la base de données String url = "jdbc:mysql://localhost:8888/connexion"; String login = "root"; String password = ""; String driver = "com.mysql.jdbc.Driver"; String user = textField_user.getText(); char[] passd = passwordField.getPassword(); try { //Connexion à la base Class.forName(driver); Connection conn = DriverManager.getConnection(url,login,password); //Création d'un objet Statement Statement st = conn.createStatement(); //L'objet req contient le résultat de la requête SQL String req="select login,pass from user"; ResultSet rs = st.executeQuery(req); if ((user.equals(rs.getString("login"))) && (Arrays.equals(passd, rs.getString("pass").toCharArray()))) { JOptionPane.showMessageDialog(null, "connexion ok"); System.exit(0); } else { JOptionPane.showMessageDialog(null, "connexion echouee"); value = 0; progressBar.setValue(value); progressBar.setStringPainted(false); textField_user.setText(""); passwordField.setText(""); textField_user.requestFocus(); s++; if(s==3){ JOptionPane.showMessageDialog(null, "vous avez essaye plusieur fois ,reessayer plus tard!"); System.exit(0); } } //close Connection st.close(); conn.close(); } catch(SQLException | ClassNotFoundException sqle){ JOptionPane.showMessageDialog(null,"Connexion a la base echoue ","Erreur",JOptionPane.ERROR_MESSAGE); setAlwaysOnTop(true); } } else {action();} } }).start(); }
Je voulais afficher des JLabel mais je n'a pas pu les affichés aussi .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 if ((user.equals(rs.getString("login"))) && (Arrays.equals(passd, rs.getString("pass").toCharArray()))) { //activer le JLabel lblconnexion.setText("Access permitted !!"); //activer le progressBar action(); progressBar.setString("validation"); progressBar.setStringPainted(true); //activer le 2éme Menu (Réseau) setJMenuBar(menuBar); menuBar.repaint(); menuBar.setEnabled(true); mRseau.repaint(); mRseau.setEnabled(true); } else { lblconnexion.setText("Authentification echoue !!"); lblconnexion.revalidate (); } }
Partager