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.搞定收工。
posted @ 2016-06-22 09:16  swbzmx  阅读(13820)  评论(1编辑  收藏  举报