# Class BasicComboBoxEditor

java.lang.Object
javax.swing.plaf.basic.BasicComboBoxEditor

All Implemented Interfaces:
  `FocusListener, EventListener, ComboBoxEditor`

Direct Known Subclasses:
  `BasicComboBoxEditor.UIResource, MetalComboBoxEditor`

public class BasicComboBoxEditor extends Object implements ComboBoxEditor, FocusListener
The default editor for editable combo boxes. The editor is implemented as a JTextField.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `BasicComboBoxEditor.UIResource`
  A subclass of BasicComboBoxEditor that implements UIResource.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected JTextField`
  `editor`
  An instance of `JTextField`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BasicComboBoxEditor()`
  Constructs a new instance of `BasicComboBoxEditor`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addActionListener(ActionListener l)`
  Add an ActionListener.
  `protected JTextField`
  `createEditorComponent()`
  Creates the internal editor component.
  `void`
  `focusGained(FocusEvent e)`
  Invoked when a component gains the keyboard focus.
  `void`
  `focusLost(FocusEvent e)`
  Invoked when a component loses the keyboard focus.
  `Component`
  `getEditorComponent()`
  Returns the component that should be added to the tree hierarchy for this editor
  `Object`
  `getItem()`
  Returns the edited item
  `void`
  `removeActionListener(ActionListener l)`
  Remove an ActionListener
  `void`
  `selectAll()`
  Ask the editor to start editing and to select everything
  `void`
  `setItem(Object anObject)`
  Sets the item that should be edited.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### editor

    protected JTextField editor
    An instance of `JTextField`.

- ## Constructor Details

  - ### BasicComboBoxEditor

    public BasicComboBoxEditor()
    Constructs a new instance of `BasicComboBoxEditor`.

- ## Method Details

  - ### getEditorComponent

    public Component getEditorComponent()
    Description copied from interface: `ComboBoxEditor`
    Returns the component that should be added to the tree hierarchy for this editor
    Specified by:
      `getEditorComponent` in interface `ComboBoxEditor`
    Returns:
      the component

  - ### createEditorComponent

    protected JTextField createEditorComponent()
    Creates the internal editor component. Override this to provide a custom implementation.
    Returns:
      a new editor component
    Since:
      1.6

  - ### setItem

    public void setItem(Object anObject)
    Sets the item that should be edited.
    Specified by:
      `setItem` in interface `ComboBoxEditor`
    Parameters:
      `anObject` - the displayed value of the editor

  - ### getItem

    public Object getItem()
    Description copied from interface: `ComboBoxEditor`
    Returns the edited item
    Specified by:
      `getItem` in interface `ComboBoxEditor`
    Returns:
      the edited item

  - ### selectAll

    public void selectAll()
    Description copied from interface: `ComboBoxEditor`
    Ask the editor to start editing and to select everything
    Specified by:
      `selectAll` in interface `ComboBoxEditor`

  - ### focusGained

    public void focusGained(FocusEvent e)
    Description copied from interface: `FocusListener`
    Invoked when a component gains the keyboard focus.
    Specified by:
      `focusGained` in interface `FocusListener`
    Parameters:
      `e` - the event to be processed

  - ### focusLost

    public void focusLost(FocusEvent e)
    Description copied from interface: `FocusListener`
    Invoked when a component loses the keyboard focus.
    Specified by:
      `focusLost` in interface `FocusListener`
    Parameters:
      `e` - the event to be processed

  - ### addActionListener

    public void addActionListener(ActionListener l)
    Description copied from interface: `ComboBoxEditor`
    Add an ActionListener. An action event is generated when the edited item changes
    Specified by:
      `addActionListener` in interface `ComboBoxEditor`
    Parameters:
      `l` - an `ActionListener`

  - ### removeActionListener

    public void removeActionListener(ActionListener l)
    Description copied from interface: `ComboBoxEditor`
    Remove an ActionListener
    Specified by:
      `removeActionListener` in interface `ComboBoxEditor`
    Parameters:
      `l` - an `ActionListener`