我是用一个方法实现JTable的显示操作,这个方法里面包括读取数据库,构建TableModel等操作
问题就来了... 初始化显示JFrame的时候这个显示数据的方法是没有问题的,但是,当我删除掉一个数据之后,再想用这个方法更新下JTable里面的数据的时候,却无法更新了,而且鼠标只要一放到JTable上去就报
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException:
各位大侠们....在线急等ing...

解决方案 »

  1.   

    删掉数据后、刷新 TableModel
      

  2.   

        public void showJTable() {        Vector vtTitle = new Vector(1,1);
            Vector<Course> vtc = new Vector<Course>(1,1);
            vtTitle.add("");
            vtTitle.add("菜品编号");
            vtTitle.add("菜品名称");
            vtTitle.add("菜品口味");
            vtTitle.add("菜品价格");
            DefaultTableModel dtm = new DefaultTableModel(vtTitle, 0);
            vtc = cd.getCourses();//获得存储数据的Vector
            for (int i = 0; i < vtc.size(); i++) {
                Course c = vtc.get(i);
                Vector vtTmp = new Vector(1, 1);
                vtTmp.add(new Boolean(false));
                vtTmp.add(c.getID());
                vtTmp.add(c.getCourseName());
                vtTmp.add((new Course_Teste_DAO().getCTByID(c.getCourseTeste())).getTesteName());
                vtTmp.add(c.getCoursePrice());
                dtm.addRow(vtTmp);
            }
            cm.getjTable_Course().setModel(dtm);
            ConstantValues.setJTableCheckBox(cm.getjTable_Course());//重写JTable列渲染方式
            cm.getjTable_Course().repaint();
        }
      

  3.   

    擦  貌似引用错了 huntor大哥  帮忙看看,这个就是我说的那个方法... 删除一条数据库信息之后,就报异常了...
      

  4.   

    问题解决了.....我在JFrame里面给这个JTable加了个排序....而我再次调用这个函数的时候没有重置这个...所以...就出异常了...