MessageDialog (connexion à la base de donné)
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:
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:
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:
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 ();
}
} |