public class DefaultTreeCellEditor extends Objectimplements ActionListener , TreeCellEditor , TreeSelectionListener
TreeCellEditor. You need to supply an instance of
DefaultTreeCellRenderer so that the icons can be obtained. You can optionally supply a
TreeCellEditor that will be layed out according to the icon in the
DefaultTreeCellRenderer. If you do not supply a
TreeCellEditor, a
TextField will be used. Editing is started on a triple mouse click, or after a click, pause, click and a delay of 1200 milliseconds.
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.
JTree
| Modifier and Type | Class and Description |
|---|---|
class |
DefaultTreeCellEditor
TextField used when no editor is supplied.
|
class |
DefaultTreeCellEditor
Container responsible for placing the
editingComponent.
|
| Modifier and Type | Field and Description |
|---|---|
protected Color |
borderSelectionColor
True if the border selection color should be drawn.
|
protected boolean |
canEdit
As of Java 2 platform v1.4 this field should no longer be used.
|
protected Component |
editingComponent
Component used in editing, obtained from the
editingContainer.
|
protected Container |
editingContainer
Editing container, will contain the
editorComponent.
|
protected Icon |
editingIcon
Icon to use when editing.
|
protected Font |
font
Font to paint with,
null indicates font of renderer is to be used.
|
protected TreePath |
lastPath
Last path that was selected.
|
protected int |
lastRow
Row that was last passed into
getTreeCellEditorComponent.
|
protected int |
offset
Used in editing.
|
protected TreeCellEditor |
realEditor
Editor handling the editing.
|
protected DefaultTreeCellRenderer |
renderer
Renderer, used to get border and offsets from.
|
protected Timer |
timer
Used before starting the editing session.
|
protected JTree |
tree
JTree instance listening too.
|
| Constructor and Description |
|---|
DefaultTreeCellEditor(JTree
Constructs a
DefaultTreeCellEditor object for a JTree using the specified renderer and a default editor.
|
DefaultTreeCellEditor(JTree
Constructs a
DefaultTreeCellEditor object for a
JTree using the specified renderer and the specified editor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(ActionEvent
Messaged when the timer fires, this will start the editing session.
|
void |
addCellEditorListener(CellEditorListener
Adds the
CellEditorListener.
|
void |
cancelCellEditing()
Messages
cancelCellEditing to the
realEditor and removes it from this instance.
|
protected boolean |
canEditImmediately(EventObject
Returns true if
event is
null, or it is a
MouseEvent with a click count > 2 and
inHitRegion returns true.
|
protected Container |
createContainer()
Creates the container to manage placement of
editingComponent.
|
protected TreeCellEditor |
createTreeCellEditor()
This is invoked if a
TreeCellEditor is not supplied in the constructor.
|
protected void |
determineOffset(JTree
|
Color |
getBorderSelectionColor()
Returns the color the border is drawn.
|
CellEditorListener |
getCellEditorListeners()
Returns an array of all the
CellEditorListeners added to this DefaultTreeCellEditor with addCellEditorListener().
|
Object |
getCellEditorValue()
Returns the value currently being edited.
|
Font |
getFont()
Gets the font used for editing.
|
Component |
getTreeCellEditorComponent(JTree
Configures the editor.
|
protected boolean |
inHitRegion(int x, int y)
Returns true if the passed in location is a valid mouse location to start editing from.
|
boolean |
isCellEditable(EventObject
If the
realEditor returns true to this message,
prepareForEditing is messaged and true is returned.
|
protected void |
prepareForEditing()
Invoked just before editing is to start.
|
void |
removeCellEditorListener(CellEditorListener
Removes the previously added
CellEditorListener.
|
void |
setBorderSelectionColor(Color
Sets the color to use for the border.
|
void |
setFont(Font
Sets the font to edit with.
|
protected void |
setTree(JTree
Sets the tree currently editing for.
|
boolean |
shouldSelectCell(EventObject
Messages the
realEditor for the return value.
|
protected boolean |
shouldStartEditingTimer(EventObject
Returns true if
event is a
MouseEvent and the click count is 1.
|
protected void |
startEditingTimer()
Starts the editing timer.
|
boolean |
stopCellEditing()
If the
realEditor will allow editing to stop, the
realEditor is removed and true is returned, otherwise false is returned.
|
void |
valueChanged(TreeSelectionEvent
Resets
lastPath.
|
protected TreeCellEditorrealEditor
protected DefaultTreeCellRendererrenderer
protected ContainereditingContainer
editorComponent.
protected transient ComponenteditingComponent
editingContainer.
protected boolean canEdit
isCellEditable.
protected transient int offset
editingComponent.
protected transient JTreetree
JTree instance listening too.
protected transient TreePathlastPath
protected transient Timertimer
protected transient int lastRow
getTreeCellEditorComponent.
protected ColorborderSelectionColor
protected transient IconeditingIcon
protected Fontfont
null indicates font of renderer is to be used.
public DefaultTreeCellEditor(JTreetree, DefaultTreeCellRenderer renderer)
DefaultTreeCellEditor object for a JTree using the specified renderer and a default editor. (Use this constructor for normal editing.)
tree - a
JTree object
renderer - a
DefaultTreeCellRenderer object
public DefaultTreeCellEditor(JTreetree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
DefaultTreeCellEditor object for a
JTree using the specified renderer and the specified editor. (Use this constructor for specialized editing.)
tree - a
JTree object
renderer - a
DefaultTreeCellRenderer object
editor - a
TreeCellEditor object
public void setBorderSelectionColor(ColornewColor)
newColor - the new border color
public ColorgetBorderSelectionColor()
public void setFont(Fontfont)
null indicates the renderers font should be used. This will NOT override any font you have set in the editor the receiver was instantiated with. If
null for an editor was passed in a default editor will be created that will pick up this font.
font - the editing
Font
getFont()
public FontgetFont()
Font
setFont(java.awt.Font)
public ComponentgetTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
realEditor.
getTreeCellEditorComponent in interface
TreeCellEditor
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
public ObjectgetCellEditorValue()
getCellEditorValue in interface
CellEditor
public boolean isCellEditable(EventObjectevent)
realEditor returns true to this message,
prepareForEditing is messaged and true is returned.
isCellEditable in interface
CellEditor
event - the event the editor should use to consider whether to begin editing or not
CellEditor.shouldSelectCell(java.util.EventObject)
public boolean shouldSelectCell(EventObjectevent)
realEditor for the return value.
shouldSelectCell in interface
CellEditor
event - the event the editor should use to start editing
CellEditor.isCellEditable(java.util.EventObject)
public boolean stopCellEditing()
realEditor will allow editing to stop, the
realEditor is removed and true is returned, otherwise false is returned.
stopCellEditing in interface
CellEditor
public void cancelCellEditing()
cancelCellEditing to the
realEditor and removes it from this instance.
public void addCellEditorListener(CellEditorListenerl)
CellEditorListener.
addCellEditorListener in interface
CellEditor
l - the listener to be added
public void removeCellEditorListener(CellEditorListenerl)
CellEditorListener.
removeCellEditorListener in interface
CellEditor
l - the listener to be removed
public CellEditorListener[] getCellEditorListeners()
CellEditorListeners added to this DefaultTreeCellEditor with addCellEditorListener().
CellEditorListeners added or an empty array if no listeners have been added
public void valueChanged(TreeSelectionEvente)
lastPath.
valueChanged in interface
TreeSelectionListener
e - the event that characterizes the change.
public void actionPerformed(ActionEvente)
protected void setTree(JTreenewTree)
newTree - the new tree to be edited
protected boolean shouldStartEditingTimer(EventObjectevent)
event is a
MouseEvent and the click count is 1.
event - the event being studied
protected void startEditingTimer()
protected boolean canEditImmediately(EventObjectevent)
event is
null, or it is a
MouseEvent with a click count > 2 and
inHitRegion returns true.
event - the event being studied
protected boolean inHitRegion(int x,
int y)
x is <= the width of the icon and icon gap displayed by the renderer. In other words this returns true if the user clicks over the text part displayed by the renderer, and false otherwise.
x - the x-coordinate of the point
y - the y-coordinate of the point
protected void determineOffset(JTreetree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
protected void prepareForEditing()
editingComponent to the
editingContainer.
protected ContainercreateContainer()
editingComponent.
protected TreeCellEditorcreateTreeCellEditor()
TreeCellEditor is not supplied in the constructor. It returns a
TextField editor.
TextField editor