这几天谁心情都不好过.除了捐点钱.也帮不了什么忙.事情已经发生了.不过我们还是要工作啊.
:(请各位高手帮忙啊.我研究了两个礼拜了.我有两张不一样的数据列数都不一样.添加了 getTableHeader().setDefaultRenderer(new TableHeadRenderer(this));  因为我要对数据做 字符特殊处理,当不停的切换表数据的时候有 Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 8 >= 7
at java.util.Vector.elementAt(Vector.java:432)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:280)
at javax.swing.plaf.basic.BasicTableHeaderUI.paint(BasicTableHeaderUI.java:337)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
此异常没规律的出现.所以我不知道什么地方的问题.我换数据是用 model.setDataVector(data[][],col[]);
希望前辈帮忙分析一下.谢谢![email protected]

解决方案 »

  1.   

    你出现这个异常主要是因为你的data[][],col[]一开始就已经确定了长度,当你多添加了一个之后,他自然会出现此类异常
      

  2.   

      还是谢谢你,也许我没说清楚,昨天我把问题解决了。顺便告诉大家一下,那是swing 的问题.监听和绘图用是不同的Thread 当我改变一行的时候监听通知了DefaultTableColumnModel 如果此时间占用过多的话,而UI 已经在绘图了,所以它取到的数据是不完整的.
      SwingUtilities.invokeLater(new Runable(){
          public void run(){
               you code ....

        } );