📅  最后修改于: 2023-12-03 15:27:02.588000             🧑  作者: Mango
清除 JTable 行是在 Java 开发中非常常见的操作之一。可以通过几种方式实现清除 JTable 行的操作。本文将讨论使用 DefaultTableModel 和 AbstractTableModel 等方式清除 JTable 行的方法。
在 DefaultTableModel 中,可以使用 removeRow() 方法来清除 JTable 中的行。该方法需要传递要删除的行的索引。以下是使用 DefaultTableModel 清除 JTable 行的示例代码:
DefaultTableModel model = (DefaultTableModel) jTable.getModel();
model.removeRow(0); // 删除第一行
在 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 接口允许您清除 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 行的几种方式。在实践中,您需要选择适合您的应用程序的适当方法。