java - DefaultTableModel setDataVector 将旧行附加到新行

标签 java jtable

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

有人能帮忙吗?

谢谢, 杰

最佳答案

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

关于java - DefaultTableModel setDataVector 将旧行附加到新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12111973/

相关文章:

java - JTable.columnMoved 方法的一个错误

java - 如果 java 堆内存限制与 kubernetes 中的 pod 资源限制不同,会发生什么情况?

java - 无法使用 MySql 数据在 JTable 中显示任何输出

java - JWindow 始终位于顶部

java - vc++ JNI错误LNK2019 : unresolved external symbol

java - 在最后一行输入数据时自动在 jTable 中插入新行

java - 制作具有添加、删除、重置和排序功能的 Jtable

单击单元格时 DefaultTableModel 上的 Java 事件处理

java - 为什么System.in.read()要等到用户按下回车键?

java - 访问 HashMap 中变量使用的次数?