Swing工程中JTable清空
1、
// DefaultTableModel model = (DefaultTableModel) table.getModel();
// for (int i = model.getRowCount() - 1; i >= 0; i--) {
// model.removeRow(i);
// }
用这个方法是有问题的,因为是JTable >> TableModel >> TableData(Vector或String[])这样的映射关系,如果用上面的方法,如果数据增加或减少都不会通知TableModel ,就导致每次清数据就报数据越界异常ArrayIndexOutOfBoundsException
2、
如果直接清理数据是会通知上层的监听,改变模型
DefaultTableModel dtm = new ((DefaultTableModel) table.getModel());
dtm.getDataVector().clear(); //清除表格数据
dtm.fireTableDataChanged();//通知模型更新
table.updateUI();//刷新表格
3、
DefaultTableModel dtm = new ((DefaultTableModel) table.getModel());
dtm.setRowCount(0);
转自 https://www.cnblogs.com/lk-php/articles/4326713.html