直接在表中操作,意外的事比较多!!!
对表的操作不在表体中进行,而是弹出一个Frame或Dialog进行添加/修改操作。

解决方案 »

  1.   

    gja106说得对
    不一定非要拘于形式
      

  2.   

    我也这样想,可是弹出Frame好像不是那么简单啊。
      

  3.   

    这个问题我也碰到过,CellEditor中有stopEditing的方法,具体形式忘了,但好像必须自己定义的CellEditor,如DefaultCellEditor editor = new DefaultCellEditor(new JTextField());否则会有JTable类会有空指针错误。
      

  4.   

    同意gularess的方法,好像是用table.getCellEditor().stopEditing()方法可以结束当前CellEditor的编辑
    要弹出Frame的话可以用一个JButton的作Editor,要简单的话就直接给JTable加一个Mouse监听好了,不过不如写CellEditor规范
      

  5.   

    用JButton作CellEditor的方法:写一个类extends AbstractCellEditor implements TableCellEditor;实现Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)方法,在需要的(row,column)返回你的JButton(随便什么Component都可以,包括内部有其他Component的Container,所以我觉得JTable功能真的很强大)覆盖Object getCellEditorValue()方法返回编辑后的对象
      

  6.   

    谢谢大家,最近工作忙,公司都不给我们上网,至于这个问题,小女子已经解决了,吓sojkey所说的原理是一样的,谢谢大家,以后有问题还请多多指教!