# Interface TableCellEditor

All Superinterfaces:
  `CellEditor`

All Known Implementing Classes:
  `DefaultCellEditor`

public interface TableCellEditor extends CellEditor
This interface must be implemented to provide an editor of cell values for a `JTable`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Component`
  `getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)`
  Sets an initial `value` for the editor.

  ### Methods declared in interface CellEditor

  `addCellEditorListener, cancelCellEditing, getCellEditorValue, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing`
  Modifier and Type
  Method
  Description
  `void`
  `addCellEditorListener(CellEditorListener l)`
  Adds a listener to the list that's notified when the editor stops, or cancels editing.
  `void`
  `cancelCellEditing()`
  Tells the editor to cancel editing and not accept any partially edited value.
  `Object`
  `getCellEditorValue()`
  Returns the value contained in the editor.
  `boolean`
  `isCellEditable(EventObject anEvent)`
  Asks the editor if it can start editing using `anEvent`.
  `void`
  `removeCellEditorListener(CellEditorListener l)`
  Removes a listener from the list that's notified
  `boolean`
  `shouldSelectCell(EventObject anEvent)`
  Returns true if the editing cell should be selected, false otherwise.
  `boolean`
  `stopCellEditing()`
  Tells the editor to stop editing and accept any partially edited value as the value of the editor.

- ## Method Details

  - ### getTableCellEditorComponent

    Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
    Sets an initial `value` for the editor. This will cause the editor to `stopEditing` and lose any partially edited value if the editor is editing when this method is called.

    Returns the component that should be added to the client's `Component` hierarchy. Once installed in the client's hierarchy this component will then be able to draw and receive user input.

    Parameters:
      `table` - the `JTable` that is asking the editor to edit; can be `null`
      `value` - the value of the cell to be edited; it is up to the specific editor to interpret and draw the value. For example, if value is the string "true", it could be rendered as a string or it could be rendered as a check box that is checked. `null` is a valid value
      `isSelected` - true if the cell is to be rendered with highlighting
      `row` - the row of the cell being edited
      `column` - the column of the cell being edited
    Returns:
      the component for editing