javax.swing

Class DefaultCellEditor

Implemented Interfaces:
CellEditor, Serializable, 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, cancelCellEditing, fireEditingCanceled, fireEditingStopped, getCellEditorListeners, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

clickCountToStart

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

delegate

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

editorComponent

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

Constructor Details

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.

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

Method Details

cancelCellEditing

public void cancelCellEditing()
Forwards call to the delegate.
Specified by:
cancelCellEditing in interface CellEditor
Overrides:
cancelCellEditing in interface AbstractCellEditor

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)

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

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.

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

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

isCellEditable

public boolean isCellEditable(EventObject event)
Forwards call to the delegate.
Specified by:
isCellEditable in interface CellEditor
Overrides:
isCellEditable in interface AbstractCellEditor
Parameters:
event - forwarded to the delegate.
Returns:
boolean returned by delegate

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

shouldSelectCell

public boolean shouldSelectCell(EventObject event)
Forwards call to the delegate.
Specified by:
shouldSelectCell in interface CellEditor
Overrides:
shouldSelectCell in interface 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 interface AbstractCellEditor
Returns:
boolean returned by delegate

DefaultCellEditor.java -- Copyright (C) 2002, 2004, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.