java.lang.Object
javax.swing.tree.DefaultTreeCellEditor
- All Implemented Interfaces:
- ActionListener,- EventListener,- CellEditor,- TreeSelectionListener,- TreeCellEditor
public class DefaultTreeCellEditor
extends Object
implements ActionListener, TreeCellEditor, TreeSelectionListener
A 
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.
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionclassTextFieldused when no editor is supplied.classContainer responsible for placing theeditingComponent.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected ColorTrue if the border selection color should be drawn.protected booleanAs of Java 2 platform v1.4 this field should no longer be used.protected ComponentComponent used in editing, obtained from theeditingContainer.protected ContainerEditing container, will contain theeditorComponent.protected IconIcon to use when editing.protected FontFont to paint with,nullindicates font of renderer is to be used.protected TreePathLast path that was selected.protected intRow that was last passed intogetTreeCellEditorComponent.protected intUsed in editing.protected TreeCellEditorEditor handling the editing.protected DefaultTreeCellRendererRenderer, used to get border and offsets from.protected TimerUsed before starting the editing session.protected JTreeJTreeinstance listening too.
- 
Constructor SummaryConstructorsConstructorDescriptionDefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer) Constructs aDefaultTreeCellEditorobject for a JTree using the specified renderer and a default editor.DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor) Constructs aDefaultTreeCellEditorobject for aJTreeusing the specified renderer and the specified editor.
- 
Method SummaryModifier and TypeMethodDescriptionvoidMessaged when the timer fires, this will start the editing session.voidAdds theCellEditorListener.voidMessagescancelCellEditingto therealEditorand removes it from this instance.protected booleancanEditImmediately(EventObject event) Returns true ifeventisnull, or it is aMouseEventwith a click count > 2 andinHitRegionreturns true.protected ContainerCreates the container to manage placement ofeditingComponent.protected TreeCellEditorThis is invoked if aTreeCellEditoris not supplied in the constructor.protected voiddetermineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) Determine the offset.Returns the color the border is drawn.Returns an array of all theCellEditorListeners added to this DefaultTreeCellEditor with addCellEditorListener().Returns the value currently being edited.getFont()Gets the font used for editing.getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) Configures the editor.protected booleaninHitRegion(int x, int y) Returns true if the passed in location is a valid mouse location to start editing from.booleanisCellEditable(EventObject event) If therealEditorreturns true to this message,prepareForEditingis messaged and true is returned.protected voidInvoked just before editing is to start.voidRemoves the previously addedCellEditorListener.voidsetBorderSelectionColor(Color newColor) Sets the color to use for the border.voidSets the font to edit with.protected voidSets the tree currently editing for.booleanshouldSelectCell(EventObject event) Messages therealEditorfor the return value.protected booleanReturns true ifeventis aMouseEventand the click count is 1.protected voidStarts the editing timer.booleanIf therealEditorwill allow editing to stop, therealEditoris removed and true is returned, otherwise false is returned.voidResetslastPath.
- 
Field Details- 
realEditorEditor handling the editing.
- 
rendererRenderer, used to get border and offsets from.
- 
editingContainerEditing container, will contain theeditorComponent.
- 
editingComponentComponent used in editing, obtained from theeditingContainer.
- 
canEditprotected boolean canEditAs of Java 2 platform v1.4 this field should no longer be used. If you wish to provide similar behavior you should directly overrideisCellEditable.
- 
offsetprotected transient int offsetUsed in editing. Indicates x position to placeeditingComponent.
- 
treeJTreeinstance listening too.
- 
lastPathLast path that was selected.
- 
timerUsed before starting the editing session.
- 
lastRowprotected transient int lastRowRow that was last passed intogetTreeCellEditorComponent.
- 
borderSelectionColorTrue if the border selection color should be drawn.
- 
editingIconIcon to use when editing.
- 
fontFont to paint with,nullindicates font of renderer is to be used.
 
- 
- 
Constructor Details- 
DefaultTreeCellEditorConstructs aDefaultTreeCellEditorobject for a JTree using the specified renderer and a default editor. (Use this constructor for normal editing.)- Parameters:
- tree- a- JTreeobject
- renderer- a- DefaultTreeCellRendererobject
 
- 
DefaultTreeCellEditorConstructs aDefaultTreeCellEditorobject for aJTreeusing the specified renderer and the specified editor. (Use this constructor for specialized editing.)- Parameters:
- tree- a- JTreeobject
- renderer- a- DefaultTreeCellRendererobject
- editor- a- TreeCellEditorobject
 
 
- 
- 
Method Details- 
setBorderSelectionColorSets the color to use for the border.- Parameters:
- newColor- the new border color
 
- 
getBorderSelectionColorReturns the color the border is drawn.- Returns:
- the border selection color
 
- 
setFontSets the font to edit with.nullindicates the renderers font should be used. This will NOT override any font you have set in the editor the receiver was instantiated with. Ifnullfor an editor was passed in a default editor will be created that will pick up this font.- Parameters:
- font- the editing- Font
- See Also:
 
- 
getFontGets the font used for editing.- Returns:
- the editing Font
- See Also:
 
- 
getTreeCellEditorComponentpublic Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) Configures the editor. Passed onto therealEditor.- Specified by:
- getTreeCellEditorComponentin 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 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
- Returns:
- the component for editing
 
- 
getCellEditorValueReturns the value currently being edited.- Specified by:
- getCellEditorValuein interface- CellEditor
- Returns:
- the value currently being edited
 
- 
isCellEditableIf therealEditorreturns true to this message,prepareForEditingis messaged and true is returned.- Specified by:
- isCellEditablein interface- CellEditor
- Parameters:
- event- the event the editor should use to consider whether to begin editing or not
- Returns:
- true if editing can be started
- See Also:
 
- 
shouldSelectCellMessages therealEditorfor the return value.- Specified by:
- shouldSelectCellin interface- CellEditor
- Parameters:
- event- the event the editor should use to start editing
- Returns:
- true if the editor would like the editing cell to be selected; otherwise returns false
- See Also:
 
- 
stopCellEditingpublic boolean stopCellEditing()If therealEditorwill allow editing to stop, therealEditoris removed and true is returned, otherwise false is returned.- Specified by:
- stopCellEditingin interface- CellEditor
- Returns:
- true if editing was stopped; false otherwise
 
- 
cancelCellEditingpublic void cancelCellEditing()MessagescancelCellEditingto therealEditorand removes it from this instance.- Specified by:
- cancelCellEditingin interface- CellEditor
 
- 
addCellEditorListenerAdds theCellEditorListener.- Specified by:
- addCellEditorListenerin interface- CellEditor
- Parameters:
- l- the listener to be added
 
- 
removeCellEditorListenerRemoves the previously addedCellEditorListener.- Specified by:
- removeCellEditorListenerin interface- CellEditor
- Parameters:
- l- the listener to be removed
 
- 
getCellEditorListenersReturns an array of all theCellEditorListeners added to this DefaultTreeCellEditor with addCellEditorListener().- Returns:
- all of the CellEditorListeners added or an empty array if no listeners have been added
- Since:
- 1.4
 
- 
valueChangedResetslastPath.- Specified by:
- valueChangedin interface- TreeSelectionListener
- Parameters:
- e- the event that characterizes the change.
 
- 
actionPerformedMessaged when the timer fires, this will start the editing session.- Specified by:
- actionPerformedin interface- ActionListener
- Parameters:
- e- the event to be processed
 
- 
setTreeSets the tree currently editing for. This is needed to add a selection listener.- Parameters:
- newTree- the new tree to be edited
 
- 
shouldStartEditingTimerReturns true ifeventis aMouseEventand the click count is 1.- Parameters:
- event- the event being studied
- Returns:
- whether eventshould starts the editing timer
 
- 
startEditingTimerprotected void startEditingTimer()Starts the editing timer.
- 
canEditImmediatelyReturns true ifeventisnull, or it is aMouseEventwith a click count > 2 andinHitRegionreturns true.- Parameters:
- event- the event being studied
- Returns:
- whether editing can be started for the given event
 
- 
inHitRegionprotected boolean inHitRegion(int x, int y) Returns true if the passed in location is a valid mouse location to start editing from. This is implemented to return false ifxis <= 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.- Parameters:
- x- the x-coordinate of the point
- y- the y-coordinate of the point
- Returns:
- true if the passed in location is a valid mouse location
 
- 
determineOffsetprotected void determineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) Determine the offset.- Parameters:
- tree- a- JTreeobject
- value- a value
- isSelected- selection status
- expanded- expansion status
- leaf- leaf status
- row- current row
 
- 
prepareForEditingprotected void prepareForEditing()Invoked just before editing is to start. Will add theeditingComponentto theeditingContainer.
- 
createContainerCreates the container to manage placement ofeditingComponent.- Returns:
- new Container object
 
- 
createTreeCellEditorThis is invoked if aTreeCellEditoris not supplied in the constructor. It returns aTextFieldeditor.- Returns:
- a new TextFieldeditor
 
 
-