- java.lang.Object
-
- javax.swing.tree.DefaultTreeCellEditor
-
- 实现的所有接口
-
ActionListener,EventListener,CellEditor,TreeSelectionListener,TreeCellEditor
public class DefaultTreeCellEditor extends Object implements ActionListener, TreeCellEditor, TreeSelectionListener
ATreeCellEditor。 您需要提供DefaultTreeCellRenderer的实例,以便可以获取图标。 您可以选择提供一个TreeCellEditor,将根据在该图标奠定了DefaultTreeCellRenderer。 如果您不提供TreeCellEditor,将使用TextField。 只需单击三次鼠标,或单击,暂停,单击并延迟1200毫秒即可开始编辑。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,对
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 另请参见:
-
JTree
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 classDefaultTreeCellEditor.DefaultTextField在没有提供编辑器时使用TextField。classDefaultTreeCellEditor.EditorContainer容器负责放置editingComponent。
-
字段汇总
字段 变量和类型 字段 描述 protected ColorborderSelectionColor如果应绘制边框选择颜色,则为True。protected booleancanEdit从Java 2平台v1.4开始,不再使用此字段。protected ComponenteditingComponent用于编辑的组件,从editingContainer获得。protected ContainereditingContainer编辑容器,将包含editorComponent。protected IconeditingIcon编辑时使用的图标。protected Fontfont要绘制的字体,null表示要使用的渲染器字体。protected TreePathlastPath选择的最后一条路径。protected intlastRow最后传入getTreeCellEditorComponent。protected intoffset用于编辑。protected TreeCellEditorrealEditor处理编辑的编辑。protected DefaultTreeCellRendererrenderer渲染器,用于获取边界和偏移。protected Timertimer在开始编辑会话之前使用。protected JTreetreeJTree实例也在听。
-
构造方法摘要
构造方法 构造器 描述 DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)使用指定的渲染器和默认编辑器为JTree构造一个DefaultTreeCellEditor对象。DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)使用指定的渲染器和指定的编辑器为JTree构造一个DefaultTreeCellEditor对象。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidactionPerformed(ActionEvent e)在计时器触发时传递消息,这将启动编辑会话。voidaddCellEditorListener(CellEditorListener l)添加CellEditorListener。voidcancelCellEditing()消息cancelCellEditing到realEditor并将其从此实例中删除。protected booleancanEditImmediately(EventObject event)如果返回trueevent为null,或者它是一个MouseEvent与点击计数> 2inHitRegion返回true。protected ContainercreateContainer()创建容器以管理editingComponent放置。protected TreeCellEditorcreateTreeCellEditor()如果构造函数中未提供TreeCellEditor则调用此方法。protected voiddetermineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)确定偏移量。ColorgetBorderSelectionColor()返回绘制边框的颜色。CellEditorListener[]getCellEditorListeners()返回使用addCellEditorListener()添加到此DefaultTreeCellEditor的所有CellEditorListener的数组。ObjectgetCellEditorValue()返回当前正在编辑的值。FontgetFont()获取用于编辑的字体。ComponentgetTreeCellEditorComponent(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 voidprepareForEditing()在编辑之前调用即开始。voidremoveCellEditorListener(CellEditorListener l)删除以前添加的CellEditorListener。voidsetBorderSelectionColor(Color newColor)设置用于边框的颜色。voidsetFont(Font font)设置要编辑的字体。protected voidsetTree(JTree newTree)设置当前正在编辑的树。booleanshouldSelectCell(EventObject event)向realEditor返回值的消息。protected booleanshouldStartEditingTimer(EventObject event)如果event是MouseEvent且点击次数为1,则返回true。protected voidstartEditingTimer()启动编辑计时器。booleanstopCellEditing()如果realEditor允许编辑停止,则删除realEditor并返回true,否则返回false。voidvalueChanged(TreeSelectionEvent e)重置lastPath。
-
-
-
字段详细信息
-
realEditor
protected TreeCellEditor realEditor
处理编辑的编辑。
-
renderer
protected DefaultTreeCellRenderer renderer
渲染器,用于获取边界和偏移。
-
editingContainer
protected Container editingContainer
编辑容器,将包含editorComponent。
-
editingComponent
protected transient Component editingComponent
用于编辑的组件,从editingContainer获得。
-
canEdit
protected boolean canEdit
从Java 2平台v1.4开始,不再使用此字段。 如果您希望提供类似的行为,则应直接覆盖isCellEditable。
-
offset
protected transient int offset
用于编辑。 表示要放置的x位置editingComponent。
-
tree
protected transient JTree tree
JTree实例也在听。
-
lastPath
protected transient TreePath lastPath
选择的最后一条路径。
-
timer
protected transient Timer timer
在开始编辑会话之前使用。
-
lastRow
protected transient int lastRow
最后传入getTreeCellEditorComponent。
-
borderSelectionColor
protected Color borderSelectionColor
如果应绘制边框选择颜色,则为True。
-
editingIcon
protected transient Icon editingIcon
编辑时使用的图标。
-
font
protected Font font
要绘制的字体,null表示要使用的渲染器字体。
-
-
构造方法详细信息
-
DefaultTreeCellEditor
public DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
使用指定的渲染器和默认编辑器为JTree构造一个DefaultTreeCellEditor对象。 (使用此构造函数进行正常编辑。)- 参数
-
tree- 一个JTree对象 -
renderer- 一个DefaultTreeCellRenderer对象
-
DefaultTreeCellEditor
public DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
使用指定的渲染器和指定的编辑器为JTree构造一个DefaultTreeCellEditor对象。 (使用此构造函数进行专门编辑。)- 参数
-
tree- 一个JTree对象 -
renderer- 一个DefaultTreeCellRenderer对象 -
editor- 一个TreeCellEditor对象
-
-
方法详细信息
-
setBorderSelectionColor
public void setBorderSelectionColor(Color newColor)
设置用于边框的颜色。- 参数
-
newColor- 新的边框颜色
-
getBorderSelectionColor
public Color getBorderSelectionColor()
返回绘制边框的颜色。- 结果
- 边框选择颜色
-
setFont
public void setFont(Font font)
设置要编辑的字体。null表示应使用渲染器字体。 这不会覆盖您在接收器实例化的编辑器中设置的任何字体。 如果在默认编辑器中传递了编辑器的null,则将创建将拾取此字体的编辑器。- 参数
-
font- 编辑Font - 另请参见:
-
getFont()
-
getFont
public Font getFont()
获取用于编辑的字体。- 结果
-
编辑
Font - 另请参见:
-
setFont(java.awt.Font)
-
getTreeCellEditorComponent
public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
配置编辑器。 传递到realEditor。- Specified by:
-
getTreeCellEditorComponent接口TreeCellEditor - 参数
-
tree- 要求编辑编辑的JTree; 此参数可以为null -
value- 要编辑的单元格的值 -
isSelected- 如果要使用选择突出显示单元格,则为true -
expanded- 如果节点已展开,expandedtrue -
leaf- 如果节点是叶节点,leaftrue -
row- 正在编辑的节点的行索引 - 结果
- 用于编辑的组件
-
getCellEditorValue
public Object getCellEditorValue()
返回当前正在编辑的值。- Specified by:
-
getCellEditorValue接口CellEditor - 结果
- 当前正在编辑的值
-
isCellEditable
public boolean isCellEditable(EventObject event)
如果realEditor返回true此消息,prepareForEditing是传递消息并返回true。- Specified by:
-
isCellEditable接口CellEditor - 参数
-
event- 编辑器应该使用的事件来考虑是否开始编辑 - 结果
- 如果可以开始编辑,则为true
- 另请参见:
-
CellEditor.shouldSelectCell(java.util.EventObject)
-
shouldSelectCell
public boolean shouldSelectCell(EventObject event)
向realEditor返回值的消息。- Specified by:
-
shouldSelectCell接口CellEditor - 参数
-
event- 编辑器用于开始编辑的事件 - 结果
- 如果编辑器想要选择编辑单元,则为true;否则为false。 否则返回false
- 另请参见:
-
CellEditor.isCellEditable(java.util.EventObject)
-
stopCellEditing
public boolean stopCellEditing()
如果realEditor允许编辑停止,则删除realEditor并返回true,否则返回false。- Specified by:
-
stopCellEditing在接口CellEditor - 结果
- 如果编辑停止,则为true; 否则是假的
-
cancelCellEditing
public void cancelCellEditing()
消息cancelCellEditing到realEditor并将其从此实例中删除。- Specified by:
-
cancelCellEditing接口CellEditor
-
addCellEditorListener
public void addCellEditorListener(CellEditorListener l)
添加CellEditorListener。- Specified by:
-
addCellEditorListener接口CellEditor - 参数
-
l- 要添加的侦听器
-
removeCellEditorListener
public void removeCellEditorListener(CellEditorListener l)
删除以前添加的CellEditorListener。- Specified by:
-
removeCellEditorListener接口CellEditor - 参数
-
l- 要删除的侦听器
-
getCellEditorListeners
public CellEditorListener[] getCellEditorListeners()
返回使用addCellEditorListener()添加到此DefaultTreeCellEditor的所有CellEditorListener的数组。- 结果
-
如果没有添加任何侦听器,则添加所有
CellEditorListener或空数组 - 从以下版本开始:
- 1.4
-
valueChanged
public void valueChanged(TreeSelectionEvent e)
重置lastPath。- Specified by:
-
valueChanged接口TreeSelectionListener - 参数
-
e- 表征更改的事件。
-
actionPerformed
public void actionPerformed(ActionEvent e)
在计时器触发时传递消息,这将启动编辑会话。- Specified by:
-
actionPerformed接口ActionListener - 参数
-
e- 要处理的事件
-
setTree
protected void setTree(JTree newTree)
设置当前正在编辑的树。 这是添加选择侦听器所必需的。- 参数
-
newTree- 要编辑的新树
-
shouldStartEditingTimer
protected boolean shouldStartEditingTimer(EventObject event)
如果event是MouseEvent且点击次数为1,则返回true。- 参数
-
event- 正在研究的事件 - 结果
-
event是否应该启动编辑计时器
-
startEditingTimer
protected void startEditingTimer()
启动编辑计时器。
-
canEditImmediately
protected boolean canEditImmediately(EventObject event)
如果event是null,则返回true;如果点击次数> 2inHitRegion返回MouseEvent,并且inHitRegion返回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
protected Container createContainer()
创建容器以管理editingComponent放置。- 结果
- 新的Container对象
-
createTreeCellEditor
protected TreeCellEditor createTreeCellEditor()
如果构造函数中未提供TreeCellEditor则调用此方法。 它返回一个TextField编辑器。- 结果
-
一个新的
TextField编辑器
-
-