Ok, j'ai ce tableau ajouté à un JPanel ajouté à une JFrame.
Dans l'événement mousePressed, il crée une nouvelle classe tData et appelle une méthode qui renvoie les données de la base de données sous la forme d'une chaîne de caractères contenue dans un élément vectoriel.
Ce que je veux, c'est qu'à chaque fois que l'on appuie sur le bouton, le tableau soit mis à jour,
Ce qui se passe, c'est qu'à chaque fois que l'on appuie sur le bouton, le tableau est mis à jour mais les mêmes données sont ajoutées à la fin du tableau.
Quelle en est la cause ?
Object columnHeaders[] = {"Fname", "Mname", "Lname", "Age"};
Object data[][] = {{}};
final DefaultTableModel dtm = new DefaultTableModel(data, columnHeaders);
JTable tb = new JTable(dtm);
JScrollPane scrollPane = new JScrollPane(tb);
tableWrap.add(scrollPane);
btn.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
tData h = new tData(10));
Vector<String> v = h.getInfo();
for(int i = 0; i < v.size() ; i++) {
dtm.insertRow(i, new Object[]{v.get(i).split(",")[0], v.get(i).split(",")[1], v.get(i).split(",")[2], v.get(i).split(",")[3]});
}
dtm.fireTableDataChanged();
frame.repaint();
}
});