Java Swing编程的时候使用JTable出现ArrayIndexOutOfBoundsException问题

来源:互联网 发布:网络机顶盒必装软件 编辑:程序博客网 时间:2024/05/17 22:22

在进行Swing编程的时候,当遇到需要刷新JTable控件的时候,网上的大部分说法是这样的

删除JTable中的每一行。然后重新加载

但是这样会出现一个问题ArrayIndexOutOfBoundsException

这是因为移除每一行的速度非常快,这样会造成已经移除完了,但是移除每一行的循环还没有完,就会出现数组越界的问题。

但是还有一种方法,简单粗暴可以移除所有的行。

model.setRowCount(0);

setRowCount
public void setRowCount(int rowCount)
设置模型中的行数。如果新的大小大于当前大小,则将新行添加到该模型的结尾,如果新的大小小于当前大小,则丢弃索引 rowCount 处及其之后的所有行。
这样就不会有异常了。

附上整个刷新代码:

    void refreshTable() {        model.setRowCount(0);        for (String string : getMess(Song.queny(5, ""))) {            String[] args = string.split(",");            model.addRow(args);        }    }
原创粉丝点击