# Class AbstractCellEditor

java.lang.Object
javax.swing.AbstractCellEditor

All Implemented Interfaces:
  `Serializable, CellEditor`

Direct Known Subclasses:
  `DefaultCellEditor`

public abstract class AbstractCellEditor extends Object implements CellEditor, Serializable
A base class for `CellEditors`, providing default implementations for the methods in the `CellEditor` interface except `getCellEditorValue()`. Like the other abstract implementations in Swing, also manages a list of listeners.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

Since:
  1.3

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected ChangeEvent`
  `changeEvent`
  The change event.
  `protected EventListenerList`
  `listenerList`
  The list of listeners.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AbstractCellEditor()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCellEditorListener(CellEditorListener l)`
  Adds a `CellEditorListener` to the listener list.
  `void`
  `cancelCellEditing()`
  Calls `fireEditingCanceled`.
  `protected void`
  `fireEditingCanceled()`
  Notifies all listeners that have registered interest for notification on this event type.
  `protected void`
  `fireEditingStopped()`
  Notifies all listeners that have registered interest for notification on this event type.
  `CellEditorListener[]`
  `getCellEditorListeners()`
  Returns an array of all the `CellEditorListener`s added to this AbstractCellEditor with addCellEditorListener().
  `boolean`
  `isCellEditable(EventObject e)`
  Returns true.
  `void`
  `removeCellEditorListener(CellEditorListener l)`
  Removes a `CellEditorListener` from the listener list.
  `boolean`
  `shouldSelectCell(EventObject anEvent)`
  Returns true.
  `boolean`
  `stopCellEditing()`
  Calls `fireEditingStopped` and returns true.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods declared in interface CellEditor

  `getCellEditorValue`

- ## Field Details

  - ### listenerList

    protected EventListenerList listenerList
    The list of listeners.

  - ### changeEvent

    protected transient ChangeEvent changeEvent
    The change event.

- ## Constructor Details

  - ### AbstractCellEditor

    protected AbstractCellEditor()
    Constructor for subclasses to call.

- ## Method Details

  - ### isCellEditable

    public boolean isCellEditable(EventObject e)
    Returns true.
    Specified by:
      `isCellEditable` in interface `CellEditor`
    Parameters:
      `e` - an event object
    Returns:
      true
    See Also:
      - `CellEditor.shouldSelectCell(EventObject)`

  - ### shouldSelectCell

    public boolean shouldSelectCell(EventObject anEvent)
    Returns true.
    Specified by:
      `shouldSelectCell` in interface `CellEditor`
    Parameters:
      `anEvent` - an event object
    Returns:
      true
    See Also:
      - `CellEditor.isCellEditable(EventObject)`

  - ### stopCellEditing

    public boolean stopCellEditing()
    Calls `fireEditingStopped` and returns true.
    Specified by:
      `stopCellEditing` in interface `CellEditor`
    Returns:
      true

  - ### cancelCellEditing

    public void cancelCellEditing()
    Calls `fireEditingCanceled`.
    Specified by:
      `cancelCellEditing` in interface `CellEditor`

  - ### addCellEditorListener

    public void addCellEditorListener(CellEditorListener l)
    Adds a `CellEditorListener` to the listener list.
    Specified by:
      `addCellEditorListener` in interface `CellEditor`
    Parameters:
      `l` - the new listener to be added

  - ### removeCellEditorListener

    public void removeCellEditorListener(CellEditorListener l)
    Removes a `CellEditorListener` from the listener list.
    Specified by:
      `removeCellEditorListener` in interface `CellEditor`
    Parameters:
      `l` - the listener to be removed

  - ### getCellEditorListeners

    public CellEditorListener[] getCellEditorListeners()
    Returns an array of all the `CellEditorListener`s added to this AbstractCellEditor with addCellEditorListener().
    Returns:
      all of the `CellEditorListener`s added or an empty array if no listeners have been added
    Since:
      1.4

  - ### fireEditingStopped

    protected void fireEditingStopped()
    Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.
    See Also:
      - `EventListenerList`

  - ### fireEditingCanceled

    protected void fireEditingCanceled()
    Notifies all listeners that have registered interest for notification on this event type. The event instance is created lazily.
    See Also:
      - `EventListenerList`