【问题标题】:Removing selected JTable elements删除选定的 JTable 元素
【发布时间】:2018-07-07 14:56:48
【问题描述】:

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

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

【问题讨论】:

    标签: java swing jtable


    【解决方案1】:

    您不应该从 ArrayList 中删除数据。

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

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

    model.removeRow(...)
    

    DefaultTableModel 的方法。

    有关从 DefaultTableModel 中删除所有选定行的工作示例,请参阅:How to delete multiple rows from JTable , database at a time

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 2023-03-05
      • 2019-07-15
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多