我在班级有一个JTable和DefaultTableModel。
第一次初始化jTable和Model时,我添加了10行。
在Button上单击,我从数据库中获得3行,因此我必须通过删除较早的10行来仅显示这3行。
我使用tableModel.setDataVector(data, columnNames);
但是主要的问题是,该表仅用新的一行替换了3个旧行,而仍然显示了剩余的7行。

有人可以帮忙吗?

谢谢,
i

最佳答案

据我了解,您想从数据库中重建包含3行的表,并删除前面的10行。如果那是真的,那就这样做

 public void actionPerformed(ActionEvent e) {
   // If the action is for getting data from DB then do,
   DefaultTableModel dtm = (DefaultTableModel) myTable.getModel();
   // int rowCount = dtm.getRowCount();
   /*
     for (int row = rowCount - 1; row >= 0; row--) {
        dtm.removeRow(row);
   } */
   // or
   if(dtm.getRowCount() > 0) {
     dtm.setRowCount(0);
   }
// Add code to get your 3 rows from the database.
}

09-16 01:00