那个单元格可编辑是由TableModel中的 public boolean  isCellEditable(int rowIndex,int colndex)方法决定的,可编辑的单元格放回true.例如:要使得(3,4)可编辑:
  class myTableModel extends AbstractTableModel{
   /**
      other codes
  **/
  public boolean isCellEditable(int row,int col)
  {if(row==3&col==4)
     return true;
   else
     return false;
  }
 }

解决方案 »

  1.   

    我的tablemodel也是继abstracttablemodel的,而且我在里面做了一个
    public boolean is CellEditable(int row int col)
    {
     return true;
    }
    但是我现在想这样的,表一生成时是不可编辑,但是我点到某个单元格时,用一个mouse右键命令,使 它可编辑。不知怎么写?
      

  2.   

    你的意思是当点鼠标右键的时候使得单元格可编辑。如果是这样,则要在TableCellEditor中做。可以通过自己实现TableCellEditor的isCellEditable()方法或覆盖DefaultTableCellEditor的isCellEditable()方法来实现。如:
     public class myTableCellEditor extens DefaultTableCellEditor{
       public boolean isCellEditable(EnventObject evt){
        if(evt instanceof MouseEvent)
        {MouseEvent m_evt=(MouseEvent)evt;
         if(m_evt.isPopupTrigger())
           return true;
        }
        return false;
      }
     }
     结下来将该CellEditor注册到JTable上就可以了。
    注意:在这种情况下,党员格是否可编辑是由TableModel和CellEditor共同决定的,两者都返回true时单元格才可编辑。