swing 里一个jtable默认是双击编辑单元格,如何实现单击编辑单元格呀,
就单击产生的效果为可编辑状态,且光标在单元格上的效果.
就20分了请大家帮帮忙!

解决方案 »

  1.   

    我的初浅的办法——给Table加鼠标事件,单击时,可以获得焦点,然后获得你所点击的单元格的位置,然后把这个单元格设编辑状态。
      

  2.   

    AbstractTableModel models = new AbstractTableModel() {
            public boolean isCellEditable(int row, int col) {
              return true;
            }
    }
    mYtable.getColumn(mainTb.getColumnName(i).toString()).setCellEditor(new ValueTableCellEditor());  class ValueTableCellEditor extends AbstractCellEditor implements TableCellEditor{    JTextField input = new JTextField();
        public Component getTableCellEditorComponent(JTable table, Object value,
                                                     boolean isSelected, int row,
                                                     int column) {
          return input;
        }
        public Object getCellEditorValue() {
          return input.getText();
        }
      }
      

  3.   

        class   ValueTableCellEditor   extends   AbstractCellEditor   implements   TableCellEditor{         JTextField   input   =   new   JTextField(); 
            public   Component   getTableCellEditorComponent(JTable   table,   Object   value, 
                                                                                                      boolean   isSelected,   int   row, 
                                                                                                      int   column)   { 
                input.setText(value.toString());
                return   input; 
            } 
            public   Object   getCellEditorValue()   { 
                return   input.getText(); 
            } 
        }