删除选定的 JTable 元素

Removing selected JTable elements

在 ArrayList 上按下按钮时,应选择和删除 table 中的几个项目。但只有一项被删除。

for (int i = 0; i < Table.getRowCount(); i++) {
            if (Table.isRowSelected(i)) {
               TableData.remove(i);
            }
}
Table.setModel(new DemoTableModel(TableData));

您不应从 ArrayList 中删除数据。

ArrayList 可用于将数据加载到 DefaultTableModel,但在将 TableModel 添加到 table 后,对数据的所有更改都应通过 DefaultTableModel 完成。

所以在你的情况下你会使用:

model.removeRow(...)

DefaultTableModel 的方法。

有关从 DefaultTableModel 中删除所有选定行的工作示例,请参阅:

如果您使用的是自定义 TableModel,则自定义模型应实现 removeRow(...) 方法。有关使用 ArrayList 保存数据创建自定义 TableModel 的分步示例,请参阅 Row Table Model。它展示了如何实现 "remove row" 方法。