Jtable 清空
這個(gè)問題糾結(jié)了很久很久,目前網(wǎng)上好像還沒有人遇到過像我這樣比較繁雜的問題,今天終于搞定了,分享給大家看一看情況是這樣的,我做一個(gè)關(guān)于SWING的工程,當(dāng)然會用到大量的表格最早清空表格是這樣寫的// DefaultTableModel model = (DefaultTableModel) table.getModel();
// for (int i = model.getRowCount() - 1; i >= 0; i--) {
// model.removeRow(i);
// } 用這個(gè)方法是有問題的,因?yàn)槭荍Table >> TableModel >> TableData(Vector或String[])這樣的映射關(guān)系,如果用上面的方法,如果數(shù)據(jù)增加或減少都不會通知TableModel ,就導(dǎo)致每次清數(shù)據(jù)就報(bào)數(shù)據(jù)越界異常ArrayIndexOutOfBoundsException。如果直接清理數(shù)據(jù)是會通知上層的監(jiān)聽,改變模型((DefaultTableModel) table.getModel()).getDataVector().clear(); //清除表格數(shù)據(jù)
((DefaultTableModel) table.getModel()).fireTableDataChanged();//通知模型更新table.updateUI();//刷新表格
總結(jié)
- 上一篇: Java字节序,java整型数与网络字节
- 下一篇: 如何让Jtable不可编辑?(