Slt tout le monde j'aimerais savoir s'il y a une méthode qui permet d'actualiser une JTable parce que quand j'ajoute une valeur a ma BD je suis obligée de fermer l'interface(JTable) et de le redémarrer pour voir ce que j'ai ajouté. merci d'avance
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 10 sept. 2012 à 16:29
Salut,
Ta JTable n'est pas directement connectée à ta base de données, il faut que tu ajoutes une ligne dans le modèle. Attends, j'ai fait un tuto là dessus, je te donne le lien
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 10 sept. 2012 à 16:31
Tu as deux solutions : soit c'est ton programme qui ajoute les lignes dans la base de données. Dans ce cas, une fois que l'ajout est fait, tu peux ajouter également une ligne dans ta JTable : http://www.javafr.com/codes/REDIMENSIONNER-JTABLE_53881.aspx
Soit, c'est un autre programme qui fait l'ajout et dans ce cas, tu peux soit :
- faire un thread qui recharge la table toutes les x secondes (attention c'est un accès assez lourd à la base de données
- faire un bouton refresh qui charge le contenu de la base.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 11 sept. 2012 à 09:22
C'est presque le même code que lorsque tu créés le tableau, il faut lui dire de récupérer le contenu de la base et pour chaque ligne, tu ajoutes dans ton tableau.
Vous n’avez pas trouvé la réponse que vous recherchez ?
C'est ce que j'ai fait mais une fois que la fenêtre est ouverte il ne prend pas en compte les mise à jour
Attend je te montre une partie pour ajouter quelques chose
if(arg0.getSource() == btnAjouterM)
{
try {
stmt = con.createStatement();
Object idPlat = tableau.getValueAt(tableau.getSelectedRow(),0);
rs = stmt.executeQuery("SELECT * FROM Restauration.Plats WHERE Plats.Code_plat="+idPlat);
if(rs.next()){
String query = "INSERT INTO Restauration.Menu VALUES ('"+ rs.getString(1)+"','"+rs.getString(2)
+"','"+rs.getString(4)+"','"+rs.getString(3)+"','"+rs.getString(5)+"')";
stmt.executeUpdate(query);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("Ce plat existe déja dans le menu du jour");
}
}
lundi 10 septembre 2012 à 16:31:24 | Re : Actualiser
Julien39
Soit, c'est un autre programme qui fait l'ajout et dans ce cas, tu peux soit :
- faire un thread qui recharge la table toutes les x secondes (attention c'est un accès assez lourd à la base de données
Bonjour Julien39,
Je voudrais faire exactement ce que tu as mentionne et que j'ai recopie ci-dessus. Cependant j'ai fait des recherches sur les threads mais j'avance pas beaucoup...
J'ai ecrit une methode RemplirTable() sous un bouton refresh qui me permet de la reactualiser manuellement mais je voudrais plutot que cela se fasse automatiquement chaque 5 min.
Pourrais tu m'aider stp?
Merci d'avance.