Actualiser

soutami91 - 10 sept. 2012 à 13:06
 gerse87 - 24 oct. 2012 à 12:21
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

16 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
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
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
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.
0
C'est un autre programme qui fait l'ajout dans la BD mais je ne sais pas ce que je doit mettre au niveau du bouton refresh
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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");
}
}
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 sept. 2012 à 15:01
tu as sans doute oublié le repaint();

Quelle mise à jour n'est pas prise en compte celle de la base ou celle de la JTable ?
0
ou dois-je mettre le repaint()
après avoir exécuter je doit redémarrer l'application pour voir les modifications
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 sept. 2012 à 16:01
Une fois que tu as modifié le contenu de ta JTable.

Tu n'as pas répondu à ma question : problème de mise à jour de la base ou de la JTable ?
0
De la JTable
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
12 sept. 2012 à 08:15
Dans ce cas, je ne vois pas à quel endroit tu mets à jour ta JTable dans le code que tu as donné...
0
C'est parce que je ne sais pas comment le faire
aides moi stp
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
12 sept. 2012 à 11:38
Tu as regardé ce code http://www.javafr.com/codes/REDIMENSIONNER-JTABLE_53881.aspx ?

Tu as essayé de chercher ? As-tu fait quelque chose ?

Si ta réponse est non à une de ces questions, commence par le faire, on en reparle après...
0
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.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 oct. 2012 à 10:17
public class Actu extends Thread {

   public void run(){
      while(true){
         Thread.sleep(5000);
         // actualisation de la JTable
         // (a coder manuelement)
      }
   }

}


Tu lances cette classe avec new Actu().start();
0
merci beaucoup je vais le tester tout de suite
0
merci Julien39 pour ton aide, mon problème est résolu! merci.
0
Rejoignez-nous