javax.swing
Class DefaultCellEditor

java.lang.Object
  extended byjavax.swing.AbstractCellEditor
      extended byjavax.swing.DefaultCellEditor
All Implemented Interfaces:
CellEditor, Serializable, TableCellEditor, TreeCellEditor
Direct Known Subclasses:
JTable.BooleanEditor, JTable.GenericEditor

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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

Author:
Alan Chung, Philip Milne
See Also:
Serialized Form

Nested Class Summary
protected  class DefaultCellEditor.EditorDelegate
          The protected EditorDelegate class.
 
Field Summary
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
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
 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 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 component being edited.


delegate

protected DefaultCellEditor.EditorDelegate delegate
The delegate class which handles all methods sent from the CellEditor.


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.

Constructor Detail

DefaultCellEditor

public DefaultCellEditor(JTextField textField)
Constructs a DefaultCellEditor that uses a text field.

Parameters:
textField - a JTextField object

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
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 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:
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