Module java.desktop
Package javax.swing

## Class DefaultCellEditor

- java.lang.Object
- - javax.swing.AbstractCellEditor
  - - javax.swing.DefaultCellEditor

All Implemented Interfaces:
  Serializable, CellEditor, TableCellEditor, TreeCellEditor

    public class DefaultCellEditor
    extends AbstractCellEditor
    implements TableCellEditor, TreeCellEditor

The default editor for table and tree cells.

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.2

### Nested Class Summary

Nested Classes
`protected class` `DefaultCellEditor.EditorDelegate` The protected `EditorDelegate` class.

### Field Summary

Fields
`protected int` `clickCountToStart` An integer specifying the number of clicks needed to start editing.
`protected DefaultCellEditor.EditorDelegate` `delegate` The delegate class which handles all methods sent from the `CellEditor`.
`protected JComponent` `editorComponent` The Swing component being edited.

### Fields inherited from class javax.swing.AbstractCellEditor

`changeEvent, listenerList`

### Constructor Summary

Constructors
Constructor and Description
`DefaultCellEditor(JCheckBox checkBox)` Constructs a `DefaultCellEditor` object that uses a check box.
`DefaultCellEditor(JComboBox<?> comboBox)` Constructs a `DefaultCellEditor` object that uses a combo box.
`DefaultCellEditor(JTextField textField)` Constructs a `DefaultCellEditor` that uses a text field.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `cancelCellEditing()` Forwards the message from the `CellEditor` to the `delegate`.
`Object` `getCellEditorValue()` Forwards the message from the `CellEditor` to the `delegate`.
`int` `getClickCountToStart()` Returns the number of clicks needed to start editing.
`Component` `getComponent()` Returns a reference to the editor component.
`Component` `getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)` Implements the `TableCellEditor` interface.
`Component` `getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)` Implements the `TreeCellEditor` interface.
`boolean` `isCellEditable(EventObject anEvent)` Forwards the message from the `CellEditor` to the `delegate`.
`void` `setClickCountToStart(int count)` Specifies the number of clicks needed to start editing.
`boolean` `shouldSelectCell(EventObject anEvent)` Forwards the message from the `CellEditor` to the `delegate`.
`boolean` `stopCellEditing()` Forwards the message from the `CellEditor` to the `delegate`.

### Methods inherited from class javax.swing.AbstractCellEditor

`addCellEditorListener, fireEditingCanceled, fireEditingStopped, getCellEditorListeners, removeCellEditorListener`

### Methods inherited from interface javax.swing.CellEditor

`addCellEditorListener, removeCellEditorListener`

### Methods inherited from class java.lang.Object

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

### Field Detail

#### clickCountToStart

    protected int clickCountToStart

An integer specifying the number of clicks needed to start editing. Even if `clickCountToStart` is defined as zero, it will not initiate until a click occurs.

#### delegate

    protected DefaultCellEditor.EditorDelegate delegate

The delegate class which handles all methods sent from the `CellEditor`.

#### editorComponent

    protected JComponent editorComponent

The Swing component being edited.

### Constructor Detail

#### DefaultCellEditor

    public DefaultCellEditor(JCheckBox checkBox)

Constructs a `DefaultCellEditor` object that uses a check box.

Parameters:
  `checkBox` - a `JCheckBox` object

#### DefaultCellEditor

    public DefaultCellEditor(JComboBox<?> comboBox)

Constructs a `DefaultCellEditor` object that uses a combo box.

Parameters:
  `comboBox` - a `JComboBox` object

#### DefaultCellEditor

    @ConstructorProperties("component")
    public DefaultCellEditor(JTextField textField)

Constructs a `DefaultCellEditor` that uses a text field.

Parameters:
  `textField` - a `JTextField` object

### Method Detail

#### getComponent

    public Component getComponent()

Returns a reference to the editor component.

Returns:
  the editor `Component`

#### setClickCountToStart

    public void setClickCountToStart(int count)

Specifies the number of clicks needed to start editing.

Parameters:
  `count` - an int specifying the number of clicks needed to start editing
See Also:
  `getClickCountToStart()`

#### getClickCountToStart

    public int getClickCountToStart()

Returns the number of clicks needed to start editing.

Returns:
  the number of clicks needed to start editing

#### getCellEditorValue

    public Object getCellEditorValue()

Forwards the message from the `CellEditor` to the `delegate`.

Specified by:
  `getCellEditorValue` in interface `CellEditor`
Returns:
  the value contained in the editor
See Also:
  `DefaultCellEditor.EditorDelegate.getCellEditorValue()`

#### isCellEditable

    public boolean isCellEditable(EventObject anEvent)

Forwards the message from the `CellEditor` to the `delegate`.

Specified by:
  `isCellEditable` in interface `CellEditor`
Overrides:
  `isCellEditable` in class `AbstractCellEditor`
Parameters:
  `anEvent` - an event object
Returns:
  true
See Also:
  `DefaultCellEditor.EditorDelegate.isCellEditable(EventObject)`

#### shouldSelectCell

    public boolean shouldSelectCell(EventObject anEvent)

Forwards the message from the `CellEditor` to the `delegate`.

Specified by:
  `shouldSelectCell` in interface `CellEditor`
Overrides:
  `shouldSelectCell` in class `AbstractCellEditor`
Parameters:
  `anEvent` - an event object
Returns:
  true
See Also:
  `DefaultCellEditor.EditorDelegate.shouldSelectCell(EventObject)`

#### stopCellEditing

    public boolean stopCellEditing()

Forwards the message from the `CellEditor` to the `delegate`.

Specified by:
  `stopCellEditing` in interface `CellEditor`
Overrides:
  `stopCellEditing` in class `AbstractCellEditor`
Returns:
  true
See Also:
  `DefaultCellEditor.EditorDelegate.stopCellEditing()`

#### cancelCellEditing

    public void cancelCellEditing()

Forwards the message from the `CellEditor` to the `delegate`.

Specified by:
  `cancelCellEditing` in interface `CellEditor`
Overrides:
  `cancelCellEditing` in class `AbstractCellEditor`
See Also:
  `DefaultCellEditor.EditorDelegate.cancelCellEditing()`

#### getTreeCellEditorComponent

    public Component getTreeCellEditorComponent(JTree tree,
                                                Object value,
                                                boolean isSelected,
                                                boolean expanded,
                                                boolean leaf,
                                                int row)

Implements the `TreeCellEditor` interface.

Specified by:
  `getTreeCellEditorComponent` in interface `TreeCellEditor`
Parameters:
  `tree` - the JTree that is asking the editor to edit; this parameter can be null
  `value` - the value of the cell to be edited
  `isSelected` - true if the cell is to be rendered with selection highlighting
  `expanded` - true if the node is expanded
  `leaf` - true if the node is a leaf node
  `row` - the row index of the node being edited
Returns:
  the component for editing

#### getTableCellEditorComponent

    public Component getTableCellEditorComponent(JTable table,
                                                 Object value,
                                                 boolean isSelected,
                                                 int row,
                                                 int column)

Implements the `TableCellEditor` interface.

Specified by:
  `getTableCellEditorComponent` in interface `TableCellEditor`
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