Swing清空jtable中的数据
如何正确的清空jtable中的数据,我想你也会被api误导,api虽然提供了 removeRow方法
然而用起来却很恶心。。。
错误方法:
使用
tableModel.removeRow( rowindex ); 你会经常得到以下错误: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6 >= 1 at java.util.Vector.elementAt(Vector.java:474) at javax.swing.table.DefaultTableModel.getValueAt(DefaultTableModel.java:648) at javax.swing.JTable.getValueAt(JTable.java:2717) at javax.swing.JTable.prepareRenderer(JTable.java:5706)
原因:使用该方法删除表格中所有数据,执行速度非常快。
而每删除一行,Swing就会去更新一次UI,这样更新和删除操作就不同步。
努力了很久也无法成功。
===================================================
简单而有效的方法:
tablemodel.setRowCount( 0 );
直接将总行数,设置为0.搞定收工。