Rafraichir JTable

Résolu
Kilkenny95 Messages postés 178 Statut Membre -  
Kilkenny95 Messages postés 178 Statut Membre -
Bonjour à toutes et à tous,

J'ai créer une JTable provenant d'une base de données, j'arrive a supprimer une donnée via le boutons "supprimer" mais aucun moyen re refresh automatiquement mon tableau, j'ai pas cherché sur internet mais je ne trouve rien qui marche.

Si une bonne âme pouvait m'aider
public class ProductList extends JFrame {
    DefaultTableModel model = new DefaultTableModel();
    Container container = this.getContentPane();
    JTable jTable = new JTable(model);
    private JButton supprimer = new JButton("Supp Data");


    public ProductList() {
        
        container.setLayout(new FlowLayout((FlowLayout.LEFT)));
        model.addColumn("id");
        model.addColumn("name");
        model.addColumn("localisation");
        model.addColumn("historique");
        model.addColumn("etat");
        container.add(supprimer);
        

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bdd_mspifm_mysql?zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=UTC", "admin", "mspifm46");
            PreparedStatement ps = con.prepareStatement("SELECT * FROM product");
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                model.addRow(new Object[]{rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4)});
            }
        }
                catch (Exception e){
                    System.out.println(e.getMessage());
                }
                JScrollPane pg = new JScrollPane(jTable);
                container.add(pg);
                this.pack();

                supprimer.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        if (e.getSource() == supprimer){
                        int rowSelected = jTable.getSelectedRow();
                        int idSelected = (int) jTable.getValueAt(rowSelected, 0);
                        System.out.println(idSelected);
                            ProductDaoImpl pdi = new ProductDaoImpl();
                            pdi.delete(idSelected);
                            System.out.println("element supprimer: "+idSelected);


                        }
                    }


                });
                


    }}

2 réponses

  1. tarek_dotzero Messages postés 834 Statut Membre 122
     
    Bonjour,

    jTable.validate();
    jTable.repaint();
    1