class TheCellEdit extends JComboBox implements TableCellEditor
        {
                //private JScrollBar scroll = new JScrollBar();
                int row;
                int col;
                private Integer cellValue;
                public TheCellEdit()
                {
                        for(int i=0;i<1000;i++){
                           addItem(new Integer(i).toString());
                        }
        
                }
                TableModel model = null;
                 public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
                 {
                     this.row = row;
                     this.col = column;
                         model = table.getModel();
                         if(value instanceof Integer){
                                 cellValue = (Integer)value;
                                 //scroll.setValue(((Integer)value).intValue());
                                 setSelectedItem(cellValue.toString());
                         }
                         return this;
                 }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#getCellEditorValue()
                 */
                public Object getCellEditorValue() {
                        // TODO Auto-generated method stub
                        cellValue = new Integer((String)this.getSelectedItem());
                        return new Integer((String)this.getSelectedItem());
                }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#isCellEditable(java.util.EventObject)
                 */
                public boolean isCellEditable(EventObject arg0) {
                        // TODO Auto-generated method stub
                        return true;
                }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#shouldSelectCell(java.util.EventObject)
                 */
                public boolean shouldSelectCell(EventObject arg0) {
                        // TODO Auto-generated method stub
                        return true;
                }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#stopCellEditing()
                 */
                public boolean stopCellEditing() {
                        // TODO Auto-generated method stub
                        //setValue(scroll.getValue());
                        model.setValueAt(new Integer((String)this.getSelectedItem()), row, col);
                        return true;
                }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#cancelCellEditing()
                 */
                public void cancelCellEditing() {
                        // TODO Auto-generated method stub
                        cellValue = new Integer((String)this.getSelectedItem());
                }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#addCellEditorListener(javax.swing.event.CellEditorListener)
                 */
                public void addCellEditorListener(CellEditorListener arg0) {
                        // TODO Auto-generated method stub
                        //setValue(scroll.getValue());
                }
        
                /* (non-Javadoc)
                 * @see javax.swing.CellEditor#removeCellEditorListener(javax.swing.event.CellEditorListener)
                 */
                public void removeCellEditorListener(CellEditorListener arg0) {
                        // TODO Auto-generated method stub
        
                }
        }        JTable table  =new  JTable(){
            TheCellEdit editor = new TheCellEdit();
            public TableCellEditor getCellEditor(int row, int col){
                if (row == 0 && col == 0)
                    return editor;
                return super.getCellEditor(row, col);
            }
        };