好吧,我已经加入此表到一个JPanel添加到一个JFrame。如何更新JTable中的DefaultTableModel的行?
在事件的mousePressed那里它instates一类新的TDATA,并调用它从数据库中作为包含在载体元件的字符串返回数据的方法。
我想会发生什么,每次BTN按下它更新表时,
是什么发生,每次BTN按下它更新的表,但相同的数据添加到表的末尾?
什么会导致这种情况发生?
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();
}
});