Actualiser une jtable

Aydaa99 Messages postés 5 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 4 juin 2012 - 15 mai 2012 à 12:41
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 16 mai 2012 à 07:54
bonjour,
Comment actualiser une jtable après avoir supprimer ou modifier une ligne dans la base de données
voila mon code mais la suppression ce fait juste au niveau du base de données
private void cmdsupprimerMouseClicked(java.awt.event.MouseEvent evt) {
try{
Connection cn = new Connexion().connectddb();
PreparedStatement ps = cn.prepareStatement(" DELETE FROM direction where code='"+txtcode.getText()+"'");
int d = ps.executeUpdate();
JOptionPane.showMessageDialog(null, "ce direction suprimer avec sucée");
}
catch (Exception s){
JOptionPane.showMessageDialog(null, s.getMessage());
}
}

7 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
15 mai 2012 à 13:24
Salut,

Très clairement, c'est impossible de créer un déclencheur qui va actualiser ta JTable. La seule solution est de faire un Thread qui recharge tes données et c'est vraiment très très lourd.
0
Aydaa99 Messages postés 5 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 4 juin 2012
15 mai 2012 à 13:32
j'ai pas compris car je suis débutante en java
on peut pas faire ça avec une fonction ??
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
15 mai 2012 à 13:55
Non, la base de données n'est pas liée à ton programme java. Quand un changement intervient sur ta base, comment veux tu communiquer l'info à ta JTable ? C'est impossible.

A ta place, je ferais un bouton "rafraichir" qui permet de recharger les données de la table. De cette facon, ton programme ne sera pas trop lourd.

Sinon, tu peux toujours faire un thread de cette manière (mais ca ne fait pas rêver) :

public class RafraichissementTable extends Thread{

   private JTable table;

   public RafraichissementTable(JTable table){
      this.table=table;
   }

   public void rechargerTable(){
      //TODO
   }

   @Override
   public void run(){
      while(true){
         rechargerTable();
         try{
            //Un pause de 1 minute
            Thread.spleep(60000);
         }catch(Exception e){
            e.printStackTrace();
         }
      }
   }
}
0
Tofracy Messages postés 2 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 15 mai 2012
15 mai 2012 à 13:57
Comment as tu rempli ton jTable? Si c'est par une méthode rappelle la méthode juste après la suppression.
Sinon essaie d'en créer une pour le remplissage de ta jTable (actualiserTable() par exemple).

TOFRACY
0

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

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
15 mai 2012 à 14:10
La suppression, tu la fait avec le programme java ? Si oui, c'est tout simple :

((DefaultTableModel)(table.getModel())).removeRow(indice);

Par contre, il faut que tu utilises un TableModel, je te conseil de regarder ca : http://www.javafr.com/codes/REDIMENSIONNER-JTABLE_53881.aspx
0
Aydaa99 Messages postés 5 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 4 juin 2012
15 mai 2012 à 14:57
j'ai essayé avec ((DefaultTableModel)(table.getModel())).removeRow(indice);
et avec table.refresh;
mais ça marche pas !!??
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
16 mai 2012 à 07:54
Ca ne marcha pas : qu'est ce que ca veut dire ?

Est ce que tu as bien affecté un DefaultTableModel à ta table ? Peux tu me montrer ton code : juste les lignes qui te permettent de créer la table.

Est ce que tu as consulté le lien que je t'ai donné ?
0
Rejoignez-nous