Jtable 清空的问题

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

posted @ 2021-02-24 17:17  信铁寒胜  阅读(309)  评论(0编辑  收藏  举报