javax.swing
Class DefaultCellEditor

java.lang.Object
  extended by javax.swing.AbstractCellEditor
      extended by javax.swing.DefaultCellEditor
All Implemented Interfaces:
Serializable, CellEditor, TableCellEditor, TreeCellEditor

public class DefaultCellEditor
extends AbstractCellEditor
implements TableCellEditor, TreeCellEditor

The default implementation of TableCellEditor and TreeCellEditor. It provides editor components for some standard object types.

See Also:
Serialized Form

Nested Class Summary
protected  class DefaultCellEditor.EditorDelegate
          This changeable module access the editor component in the component specific way.
 
Field Summary
protected  int clickCountToStart
          The number of the mouse clicks, required to start the editing session.
protected  DefaultCellEditor.EditorDelegate delegate
          The editor delegate, responsible for listening the editorComponent events and getting/setting its value.
protected  JComponent editorComponent
          The Swing JComponent, performing the editing session.
 
Fields inherited from class javax.swing.AbstractCellEditor
changeEvent, listenerList
 
Constructor Summary
DefaultCellEditor(JCheckBox checkbox)
          Constructor DefaultCellEditor that uses the checkbox (appropriate for boolean values)
DefaultCellEditor(JComboBox combobox)
          Constructor DefaultCellEditor that uses the combo box.
DefaultCellEditor(JTextField textfield)
          Create the DefaultCellEditor that uses the text field as its editor component (appropriate for the text content)
 
Method Summary
 void cancelCellEditing()
          Forwards call to the delegate.
 Object getCellEditorValue()
          Get the value, currently being displayed by the editor component.
 int getClickCountToStart()
          Get the number of mouse clicks, required to start the editing session.
 Component getComponent()
          Get the component that performs the editing sessions.
 Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
          Get the cell editor component that will perform the editing session.
 Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
          Sets an initial value for the editor.
 boolean isCellEditable(EventObject event)
          Forwards call to the delegate.
 void setClickCountToStart(int count)
          Set the number of mouse clicks, required to start the editing session.
 boolean shouldSelectCell(EventObject event)
          Forwards call to the delegate.
 boolean stopCellEditing()
          Forwards call to the delegate.
 
Methods inherited from class javax.swing.AbstractCellEditor
addCellEditorListener, fireEditingCanceled, fireEditingStopped, getCellEditorListeners, removeCellEditorListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.CellEditor
addCellEditorListener, removeCellEditorListener
 

Field Detail

editorComponent

protected JComponent editorComponent
The Swing JComponent, performing the editing session.


delegate

protected DefaultCellEditor.EditorDelegate delegate
The editor delegate, responsible for listening the editorComponent events and getting/setting its value.


clickCountToStart

protected int clickCountToStart
The number of the mouse clicks, required to start the editing session.

Constructor Detail

DefaultCellEditor

public DefaultCellEditor(JTextField textfield)
Create the DefaultCellEditor that uses the text field as its editor component (appropriate for the text content)

Parameters:
textfield - the text field as will be used as the editor component

DefaultCellEditor

public DefaultCellEditor(JCheckBox checkbox)
Constructor DefaultCellEditor that uses the checkbox (appropriate for boolean values)

Parameters:
checkbox - the checkbox that will be used with this editor.

DefaultCellEditor

public DefaultCellEditor(JComboBox combobox)
Constructor DefaultCellEditor that uses the combo box.

Parameters:
combobox - the combo box that will be used with this editor.
Method Detail

getComponent

public Component getComponent()
Get the component that performs the editing sessions. It is the same component that was passed in constructor.

Returns:
the component, performing the editing sessions.

getClickCountToStart

public int getClickCountToStart()
Get the number of mouse clicks, required to start the editing session.

Returns:
int the number of mouse clicks, required to start the session

setClickCountToStart

public void setClickCountToStart(int count)
Set the number of mouse clicks, required to start the editing session.

Parameters:
count - the number of clicks, required to start the session

getCellEditorValue

public Object getCellEditorValue()
Get the value, currently being displayed by the editor component. The call is forwarded to the delegate.

Specified by:
getCellEditorValue in interface CellEditor
Returns:
Object the value (class depends on the editor component)

isCellEditable

public boolean isCellEditable(EventObject event)
Forwards call to the delegate.

Specified by:
isCellEditable in interface CellEditor
Overrides:
isCellEditable in class AbstractCellEditor
Parameters:
event - forwarded to the delegate.
Returns:
boolean returned by delegate

shouldSelectCell

public boolean shouldSelectCell(EventObject event)
Forwards call to the delegate.

Specified by:
shouldSelectCell in interface CellEditor
Overrides:
shouldSelectCell in class AbstractCellEditor
Parameters:
event - forwarded to the delegate.
Returns:
boolean returned by delegate

stopCellEditing

public boolean stopCellEditing()
Forwards call to the delegate.

Specified by:
stopCellEditing in interface CellEditor
Overrides:
stopCellEditing in class AbstractCellEditor
Returns:
boolean returned by delegate

cancelCellEditing

public void cancelCellEditing()
Forwards call to the delegate.

Specified by:
cancelCellEditing in interface CellEditor
Overrides:
cancelCellEditing in class AbstractCellEditor

getTreeCellEditorComponent

public Component getTreeCellEditorComponent(JTree tree,
                                            Object value,
                                            boolean isSelected,
                                            boolean expanded,
                                            boolean leaf,
                                            int row)
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.

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 is the cell is to be renderer 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:
Component the component for editing

getTableCellEditorComponent

public Component getTableCellEditorComponent(JTable table,
                                             Object value,
                                             boolean isSelected,
                                             int row,
                                             int column)
Get the cell editor component that will perform the editing session. If returned once, the same component is also returned on the repetetive calls again (reused).

Specified by:
getTableCellEditorComponent in interface TableCellEditor
Parameters:
table - the table where the editing is performed
value - the current value of the table. It is set as the initial component value.
isSelected - if true, the cell is currently selected
row - the row of the cell being edited
column - the column of the cell being edited
Returns:
Component the component that will perform the editing session