我想在JTable中做个监听,监听每一个单元格是否改变,如果改变了,再把它保存至数据库!怎么做啊,谢谢啦!!

解决方案 »

  1.   

    那你要设置个保存按钮,点击保存,然后得到table中的值然后保存
      

  2.   

     
    jTable1.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseReleased(MouseEvent me) {
                    if (SwingUtilities.isLeftMouseButton(me)) {
                        //遍历你的jTable1看是否有数据变化执行入库操作
                    }
                }
            });
    因为你描述的不是很清楚如果你的表格不是手动修改的话添加的应该是自己定义实现
      

  3.   

    很简单.
    1,为你的jtable设置监听
    jTable1.addKeyListener(new java.awt.event.KeyAdapter() {
          public void keyPressed(KeyEvent e) {
            jTable1_keyPressed(e);//处理方法
          }
        });
    2,实现处理方法.
    void jTable1_keyPressed(KeyEvent e){
        JTable jtab1 = (JTable) e.getSource();
        int key = e.getKeyCode();
        
        int c = jtab1.getSelectedColumn();//获取修改列
        int r = jtab1.getSelectedRow();//获取修改行
         String sdb = "";//这个值是从数据库获取过来的.
        String  stable = (String) jtab1.getValueAt(r,jTable1.convertColumnIndexToView("这里是你的表中修改列的列名"))
        boolean change = sdb != stable;
        if(change){
         //保存
         ......
        //如果你多个单元格被修改了,可以用个list把列的值都存起来,然后一起传到后台保存.  
       }      
    }