那个单元格可编辑是由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;
}
}
class myTableModel extends AbstractTableModel{
/**
other codes
**/
public boolean isCellEditable(int row,int col)
{if(row==3&col==4)
return true;
else
return false;
}
}
public boolean is CellEditable(int row int col)
{
return true;
}
但是我现在想这样的,表一生成时是不可编辑,但是我点到某个单元格时,用一个mouse右键命令,使 它可编辑。不知怎么写?
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时单元格才可编辑。