DefaultTableModel setDataVector使用new追加旧行

时间:2012-08-24 15:04:45

标签: java jtable

我在类级别有一个JTable和DefaultTableModel。 第一次初始化jTable和Model I时添加10行。 在按钮上单击我从我的数据库中获取3行,因此我必须通过删除前面的10行来仅显示这3行。 我是使用tableModel.setDataVector(data, columnNames);执行此操作的 但主要问题是,该表只用新的一行替换了3个旧行,剩下的7行仍按原样显示。

任何人都可以帮忙吗?

谢谢, 洁

1 个答案:

答案 0 :(得分:1)

如果我已经理解,你想用数据库中的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.
}