📜  清除 jtable 行 java (1)

📅  最后修改于: 2023-12-03 15:27:02.588000             🧑  作者: Mango

清除 JTable 行 Java

清除 JTable 行是在 Java 开发中非常常见的操作之一。可以通过几种方式实现清除 JTable 行的操作。本文将讨论使用 DefaultTableModel 和 AbstractTableModel 等方式清除 JTable 行的方法。

使用 DefaultTableModel 清除行

在 DefaultTableModel 中,可以使用 removeRow() 方法来清除 JTable 中的行。该方法需要传递要删除的行的索引。以下是使用 DefaultTableModel 清除 JTable 行的示例代码:

DefaultTableModel model = (DefaultTableModel) jTable.getModel();
model.removeRow(0); // 删除第一行
使用 AbstractTableModel 清除行

在 AbstractTableModel 中,您需要重写 removeRow() 方法,该方法可以清除 JTable 中的行。以下是使用 AbstractTableModel 清除 JTable 行的示例代码:

public class MyTableModel extends AbstractTableModel {

  @Override
  public void removeRow(int row) {
    data.remove(row);
    fireTableRowsDeleted(row, row);
  }

}

在 MyTableModel 类中,我们定义了一个 removeRow() 方法,该方法删除了一个元素,并使用 fireTableRowsDeleted() 方法告诉 JTable 数据模型已更改,需要刷新。

使用 TableModel 清除行

TableModel 接口允许您清除 JTable 中的行。以下是使用 TableModel 清除 JTable 行的示例代码:

TableModel model = jTable.getModel();
if (model instanceof DefaultTableModel) {
  ((DefaultTableModel) model).removeRow(0); // 删除第一行
} else {
  model.setValueAt(null, 0, 0);
}

在上面的例子中,我们首先使用 getModel() 方法获取 JTable 的 TableModel。然后,我们使用 instanceof 检查 TableModel 是否 DefaultTableModel 的实例。如果是,则使用 removeRow() 方法删除行。否则,我们使用 setValueAt() 方法将单元格的值设置为 null。

总结

以上是使用 DefaultTableModel、AbstractTableModel 和 TableModel 清除 JTable 行的几种方式。在实践中,您需要选择适合您的应用程序的适当方法。