java - 删除选定的 JTable 元素
问题描述
当按下 ArrayList 上的按钮时,应选择并删除表中的几个项目。但只有一项被删除。
for (int i = 0; i < Table.getRowCount(); i++) {
if (Table.isRowSelected(i)) {
TableData.remove(i);
}
}
Table.setModel(new DemoTableModel(TableData));
解决方案
您不应该从 ArrayList 中删除数据。
ArrayList 可用于将数据加载到表中,DefaultTableModel
但在将 TableModel 添加到表后,对数据的所有更改都应通过DefaultTableModel
.
因此,在您的情况下,您将使用:
model.removeRow(...)
DefaultTableModel 的方法。
有关从 DefaultTableModel 中删除所有选定行的工作示例,请参阅:如何一次从数据库 JTable 中删除多行。
如果您使用的是自定义 TableModel,那么自定义模型应该实现一个removeRow(...)
方法。有关使用 ArrayList 创建自定义 TableModel 来保存数据的分步示例,请参阅行表模型。它展示了如何实现“删除行”方法。
推荐阅读
- azure - 如何检查在 Azure Blob 存储中执行的生命周期规则
- gnuradio - 在 GNU Radio 中为 CC1110 制作一个 PN9 扰频器
- arrays - Laravel 方法使用“点”表示法在深度嵌套的数组中添加值
- google-drive-api - Google Drive API 使用
- javascript - 使用 jQuery 切换图像源
- fullcalendar - fullcalendar 插件中的事件标题添加了奇怪的文本
- google-ads-api - 如何从排除列表中删除 IP?
- python - 使用包含秒的索引计算列中 True 值的持续时间
- android - 我应该在 build.gradle 的哪里添加 android 配置?
- java - Chrome 浏览器窗口未在 Selenium-grid 节点中最大化