java.lang.Object
javax.swing.tree.DefaultTreeCellEditor
- 所有已实现的接口:
-
ActionListener,EventListener,CellEditor,TreeSelectionListener,TreeCellEditor
public class DefaultTreeCellEditor extends Object implements ActionListener, TreeCellEditor, TreeSelectionListener
一个
TreeCellEditor。您需要提供一个DefaultTreeCellRenderer的实例,以便可以获取图标。您还可以选择提供一个TreeCellEditor,它将根据DefaultTreeCellRenderer中的图标进行布局。如果您不提供TreeCellEditor,将使用一个TextField。编辑在三次鼠标单击后开始,或者在单击、暂停、单击和延迟1200毫秒后开始。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已经向java.beans包添加了对所有JavaBeans进行长期存储的支持。请参阅XMLEncoder。
- 参见:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass当未提供编辑器时使用的TextField。class负责放置editingComponent的容器。 -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Color如果应绘制边框选择颜色,则为True。protected boolean从Java 2平台v1.4开始,不应再使用此字段。protected Component用于编辑的组件,从editingContainer中获取。protected Container编辑容器,将包含editorComponent。protected Icon在编辑时使用的图标。protected Font用于绘制的字体,null表示将使用渲染器的字体。protected TreePath上次选择的路径。protected int传递给getTreeCellEditorComponent的上次路径。protected int用于编辑。protected TreeCellEditor处理编辑的编辑器。protected DefaultTreeCellRenderer渲染器,用于获取边框和偏移量。protected Timer在开始编辑会话之前使用。protected JTree监听的JTree实例。 -
Constructor Summary
ConstructorsConstructorDescriptionDefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer) 为JTree使用指定的渲染器和默认编辑器构造一个DefaultTreeCellEditor对象。DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor) 为JTree使用指定的渲染器和指定的编辑器构造一个DefaultTreeCellEditor对象。 -
Method Summary
Modifier and TypeMethodDescriptionvoid当计时器触发时发出消息,这将开始编辑会话。void添加CellEditorListener。void向realEditor发送cancelCellEditing消息,并将其从此实例中移除。protected booleancanEditImmediately(EventObject event) 如果event为null,或者是一个点击次数>2且inHitRegion返回true的MouseEvent,则返回true。protected Container创建容器以管理editingComponent的放置。protected TreeCellEditor如果在构造函数中未提供TreeCellEditor,则调用此方法。protected voiddetermineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) 确定偏移量。返回绘制边框的颜色。返回添加到此DefaultTreeCellEditor中的所有CellEditorListener数组。返回当前正在编辑的值。getFont()获取用于编辑的字体。getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) 配置编辑器。protected booleaninHitRegion(int x, int y) 如果传入位置是有效的鼠标位置以开始编辑,则返回true。booleanisCellEditable(EventObject event) 如果realEditor对此消息返回true,则发送prepareForEditing消息并返回true。protected void在编辑开始之前调用。void移除先前添加的CellEditorListener。voidsetBorderSelectionColor(Color newColor) 设置用于边框的颜色。void设置用于编辑的字体。protected void设置当前正在编辑的树。booleanshouldSelectCell(EventObject event) 向realEditor发送消息以获取返回值。protected boolean如果event是MouseEvent且点击次数为1,则返回true。protected void启动编辑计时器。boolean如果realEditor允许停止编辑,则删除realEditor并返回true,否则返回false。void重置lastPath。
-
Field Details
-
realEditor
处理编辑的编辑器。 -
renderer
渲染器,用于获取边框和偏移量。 -
editingContainer
编辑容器,将包含editorComponent。 -
editingComponent
用于编辑的组件,从editingContainer中获取。 -
canEdit
protected boolean canEdit从Java 2平台v1.4开始,不应再使用此字段。如果您希望提供类似的行为,应直接覆盖isCellEditable。 -
offset
protected transient int offset用于编辑。指示放置editingComponent的x位置。 -
tree
监听的JTree实例。 -
lastPath
上次选择的路径。 -
timer
在开始编辑会话之前使用。 -
lastRow
protected transient int lastRow传递给getTreeCellEditorComponent的上次路径。 -
borderSelectionColor
如果应绘制边框选择颜色,则为True。 -
editingIcon
在编辑时使用的图标。 -
font
用于绘制的字体,null表示将使用渲染器的字体。
-
-
Constructor Details
-
DefaultTreeCellEditor
为JTree使用指定的渲染器和默认编辑器构造一个DefaultTreeCellEditor对象。(对于普通编辑,请使用此构造函数。)- 参数:
-
tree- 一个JTree对象 -
renderer- 一个DefaultTreeCellRenderer对象
-
DefaultTreeCellEditor
为JTree使用指定的渲染器和指定的编辑器构造一个DefaultTreeCellEditor对象。(对于专门的编辑,请使用此构造函数。)- 参数:
-
tree- 一个JTree对象 -
renderer- 一个DefaultTreeCellRenderer对象 -
editor- 一个TreeCellEditor对象
-
-
Method Details
-
setBorderSelectionColor
设置用于边框的颜色。- 参数:
-
newColor- 新的边框颜色
-
getBorderSelectionColor
返回绘制边框的颜色。- 返回:
- 边框选择颜色
-
setFont
设置用于编辑的字体。null表示应使用渲染器的字体。这不会覆盖您在实例化接收器时设置的任何字体。如果为编辑器传递了null,将创建一个默认编辑器,该编辑器将使用此字体。- 参数:
-
font- 编辑的Font - 参见:
-
getFont
获取用于编辑的字体。- 返回:
-
编辑的
Font - 参见:
-
getTreeCellEditorComponent
public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) 配置编辑器。传递给realEditor。- 指定者:
-
getTreeCellEditorComponent在接口TreeCellEditor中 - 参数:
-
tree- 请求编辑器进行编辑的JTree;此参数可以为null -
value- 要编辑的单元格的值 -
isSelected- 如果要使用选择高亮显示渲染单元格,则为true -
expanded- 如果节点已展开,则为true -
leaf- 如果节点是叶节点,则为true -
row- 正在编辑的节点的行索引 - 返回:
- 用于编辑的组件
-
getCellEditorValue
返回当前正在编辑的值。- 指定者:
-
getCellEditorValue在接口CellEditor中 - 返回:
- 当前正在编辑的值
-
isCellEditable
如果realEditor对此消息返回true,则发送prepareForEditing消息并返回true。- 指定者:
-
isCellEditable在接口CellEditor中 - 参数:
-
event- 编辑器应使用的事件,以确定是否开始编辑 - 返回:
- 如果可以开始编辑,则为true
- 参见:
-
shouldSelectCell
向realEditor发送消息以获取返回值。- 指定由:
-
shouldSelectCell在接口CellEditor中 - 参数:
-
event- 编辑器应使用的事件来开始编辑 - 返回:
- 如果编辑器希望选择编辑单元格,则返回true;否则返回false
- 参见:
-
stopCellEditing
public boolean stopCellEditing()如果realEditor允许停止编辑,则删除realEditor并返回true,否则返回false。- 指定由:
-
stopCellEditing在接口CellEditor中 - 返回:
- 如果停止编辑,则返回true;否则返回false
-
cancelCellEditing
public void cancelCellEditing()向realEditor发送cancelCellEditing消息,并从此实例中删除它。- 指定由:
-
cancelCellEditing在接口CellEditor中
-
addCellEditorListener
添加CellEditorListener。- 指定由:
-
addCellEditorListener在接口CellEditor中 - 参数:
-
l- 要添加的监听器
-
removeCellEditorListener
删除先前添加的CellEditorListener。- 指定由:
-
removeCellEditorListener在接口CellEditor中 - 参数:
-
l- 要移除的监听器
-
getCellEditorListeners
返回添加到此DefaultTreeCellEditor的所有CellEditorListener的数组。- 返回:
-
所有已添加的
CellEditorListener或如果未添加任何监听器则返回空数组 - 自:
- 1.4
-
valueChanged
重置lastPath。- 指定由:
-
valueChanged在接口TreeSelectionListener中 - 参数:
-
e- 描述更改的事件
-
actionPerformed
当计时器触发时发送消息,这将开始编辑会话。- 指定由:
-
actionPerformed在接口ActionListener中 - 参数:
-
e- 要处理的事件
-
setTree
设置当前正在编辑的树。这是为了添加选择监听器所需的。- 参数:
-
newTree- 要编辑的新树
-
shouldStartEditingTimer
如果event是MouseEvent且点击次数为1,则返回true。- 参数:
-
event- 正在研究的事件 - 返回:
-
event是否应启动编辑计时器
-
startEditingTimer
protected void startEditingTimer()启动编辑计时器。 -
canEditImmediately
如果event是null,或者是一个点击次数> 2且inHitRegion返回true的MouseEvent,则返回true。- 参数:
-
event- 正在研究的事件 - 返回:
-
是否可以为给定的
event启动编辑
-
inHitRegion
protected boolean inHitRegion(int x, int y) 如果传入位置是从中开始编辑的有效鼠标位置,则返回true。如果x<=渲染器显示的图标和图标间隙的宽度,则实现为返回false。换句话说,如果用户在渲染器显示的文本部分上单击,则返回true,否则返回false。- 参数:
-
x- 点的x坐标 -
y- 点的y坐标 - 返回:
- 如果传入位置是有效的鼠标位置,则返回true
-
determineOffset
protected void determineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) 确定偏移量。- 参数:
-
tree- 一个JTree对象 -
value- 一个值 -
isSelected- 选择状态 -
expanded- 展开状态 -
leaf- 叶子状态 -
row- 当前行
-
prepareForEditing
protected void prepareForEditing()在编辑开始之前调用。将editingComponent添加到editingContainer中。 -
createContainer
创建容器以管理editingComponent的放置。- 返回:
- 新的Container对象
-
createTreeCellEditor
如果构造函数中未提供TreeCellEditor,则调用此方法。返回一个TextField编辑器。- 返回:
-
一个新的
TextField编辑器
-