Java 删除选定的JTable元素

Java 删除选定的JTable元素,java,swing,jtable,Java,Swing,Jtable,按下ArrayList上的按钮时,应选择并删除表中的多个项目。但只有一个项目被删除 for (int i = 0; i < Table.getRowCount(); i++) { if (Table.isRowSelected(i)) { TableData.remove(i); } } Table.setModel(new DemoTableModel(TableData)); for(int i=0;i

按下ArrayList上的按钮时,应选择并删除表中的多个项目。但只有一个项目被删除

for (int i = 0; i < Table.getRowCount(); i++) {
            if (Table.isRowSelected(i)) {
               TableData.remove(i);
            }
}
Table.setModel(new DemoTableModel(TableData));
for(int i=0;i
您不应该从ArrayList中删除数据

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

因此,在您的情况下,您将使用:

model.removeRow(...)
DefaultTableModel的方法

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


如果您使用的是自定义TableModel,那么自定义模型应该实现
removeRow(…)
方法。有关使用ArrayList保存数据创建自定义TableModel的分步示例,请参见。它显示了如何实现“删除行”方法。

您不应该从ArrayList中删除数据

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

因此,在您的情况下,您将使用:

model.removeRow(...)
DefaultTableModel的方法

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

如果您使用的是自定义TableModel,那么自定义模型应该实现
removeRow(…)
方法。有关使用ArrayList保存数据创建自定义TableModel的分步示例,请参见。它展示了如何实现“删除行”方法