J'ai créé un JFrame dans netbeans (il ne contient actuellement qu'un seul JLabel) qui se connecte à la base de données et obtient un champ et l'affiche dans le JLabel. lorsque j'exécute le programme, le JLabel affiche le champ pendant moins d'une seconde, puis le texte dans le JLabel disparaît !! Quelqu'un peut-il me dire pourquoi cela se passe-t-il? J'ai également essayé dans un JTextField, également le même problème.Le texte JLabel disparaît après moins d'une seconde
code:
public class frame extends javax.swing.JFrame {
public frame() {
initComponents();
}
public void doingAll() {
StringBuffer message = new StringBuffer();
try {
Statement stmt;
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/Junk2";
Connection con = DriverManager.getConnection(url,"root", "");
System.out.println("URL: " + url);
System.out.println("Connection: " + con);
stmt = con.createStatement();
stmt.executeQuery("select * from Junk2.example");
ResultSet rs = stmt.executeQuery("select * from Junk2.example");
int columns = rs.getMetaData().getColumnCount();
while(rs.next()){
for (int i=1;i<=columns;i++){
message.append(rs.getString(i)+" ");
}
message.append("\n");
}
System.out.println(message);
con.close();
}catch(Exception e) {
e.printStackTrace();
}//end catch
jLabel1.setText(message.toString());
jTextField1.setText(message.toString());
java.awt.EventQueue.invokeLater(new Runnable(){public void run(){new frame().setVisible(true);}});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
c'est le code que j'utilise, la fonction doingAll() se connecte à la base de données, récupère le champ et l'affiche dans JLabel et JTextField. Mais comme je l'ai dit, le texte n'est affiché que pendant moins de 2 secondes. – SLA
cette ligne était déjà existante quand j'ai créé le projet netbeans, je l'ai juste supprimé et le problème est résolu! Merci! – SLA