JTabel 中监听某个单元格的值确实改变了

   JTable t = new JTable();

      String oldvalue = null;//定义全局变量用于记录编辑前得内容

       t.getModel().addTableModelListener(new TableModelListener(){

    public void tableChanged(TableModelEvent e) {
     if(e.getType() == TableModelEvent.UPDATE){
      /*
       * do some thing 获得编辑后单元格得值
       */

         String newvalue = t.getValueAt(e.getLastRow(),e.getColumn()).toString();

        if(!newvalue.equals(oldvalue)){

           

       /*
         * call the value changed metod;

        */

 

          }


     }
    
    }
        
       });

 

     这样就可以对其是否进入过编辑状态有了监听,然后在给其添加mouselistener就可以对其进去编辑状态前得情况进行记录

    t.addMouseListener(new MouseAdapter(){

          public void mouseClicked(MouseEvent e){

            //记录进入编辑状态前单元格得数据

              oldvalue = t.getValueAt(t.getSelectedRow(),t.getSelectedColumn()).toString();

             }      

         });

你可能感兴趣的:(JTabel 中监听某个单元格的值确实改变了)