javax.swing.tree

接口
异常
java.lang.Object
  继承者 javax.swing.tree.DefaultTreeCellEditor
所有已实现的接口:
ActionListener, EventListener, CellEditor, TreeSelectionListener, TreeCellEditor

public class DefaultTreeCellEditor
     
extends Object
implements ActionListener, TreeCellEditor, TreeSelectionListener

TreeCellEditor。需要提供一个 DefaultTreeCellRenderer 实例,以便可以获取图标。您也可以提供一个根据 DefaultTreeCellRenderer 中的图标布局的 TreeCellEditor。如果不提供 TreeCellEditor,将使用 TextField。三次鼠标单击可启动编辑,或者一次单击之后,暂停一会,再单击并延迟 1200 毫秒也可启动编辑。

警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder

另请参见:
JTree

嵌套类摘要
 class DefaultTreeCellEditor.DefaultTextField
          不提供任何编辑器时所使用的 TextField
 class DefaultTreeCellEditor.EditorContainer
          负责存放 editingComponent 的容器。
 
字段摘要
protected  Color borderSelectionColor
          如果应绘制边框选择色,则为 true。
protected  boolean canEdit
          从 Java 2 平台 v1.4 开始,不应再使用此字段。
protected  Component editingComponent
          用于编辑的组件,从 editingContainer 获取。
protected  Container editingContainer
          将包含 editorComponent 的编辑容器。
protected  Icon editingIcon
          编辑时要使用的图标。
protected  Font font
          用以绘制的字体,null 指示将使用呈现器的字体。
protected  TreePath lastPath
          选择的最后路径。
protected  int lastRow
          最后传入到 getTreeCellEditorComponent 的行。
protected  int offset
          在编辑中使用。
protected  TreeCellEditor realEditor
          处理该编辑的编辑器。
protected  DefaultTreeCellRenderer renderer
          用于从中获取边框和偏移量的呈现器。
protected  Timer timer
          在启动编辑会话之前使用。
protected  JTree tree
          JTree 实例侦听。
 
构造方法摘要
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
          使用指定呈现器和默认编辑器,为 JTree 构造一个 DefaultTreeCellEditor 对象。
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
          使用指定的呈现器和指定的编辑器,为 JTree 构造一个 DefaultTreeCellEditor 对象。
 
方法摘要
 void actionPerformed(ActionEvent e)
          计时器被激发时传递消息,这将启动编辑会话。
 void addCellEditorListener(CellEditorListener l)
          添加 CellEditorListener
 void cancelCellEditing()
          将 cancelCellEditing 发送到 realEditor,并从此实例移除它。
protected  boolean canEditImmediately(EventObject event)
          如果 eventnull,或者它是一个单击计数 > 2 的 MouseEvent,并且 inHitRegion 返回 true,则此方法返回 true。
protected  Container createContainer()
          创建管理 editingComponent 放置的容器。
protected  TreeCellEditor createTreeCellEditor()
          如果构造方法中没有提供 TreeCellEditor,则调用此方法。
protected  void determineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
           
 Color getBorderSelectionColor()
          返回绘制边框的颜色。
 CellEditorListener[] getCellEditorListeners()
          返回使用 addCellEditorListener() 添加到此 DefaultTreeCellEditor 中的所有 CellEditorListener 组成的数组。
 Object getCellEditorValue()
          返回当前正在编辑的值。
 Font getFont()
          获取用于编辑的字体。
 Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
          配置编辑器。
protected  boolean inHitRegion(int x, int y)
          如果传入位置是要启动编辑的有效鼠标位置,则返回 true。
 boolean isCellEditable(EventObject event)
          如果 realEditor 将 true 返回到此消息,则会通知 prepareForEditing,并返回 true。
protected  void prepareForEditing()
          仅在编辑启动之前调用。
 void removeCellEditorListener(CellEditorListener l)
          移除以前添加的 CellEditorListener
 void setBorderSelectionColor(Color newColor)
          设置用于边框的颜色。
 void setFont(Font font)
          设置编辑使用的字体。
protected  void setTree(JTree newTree)
          设置当前正在为其编辑的树。
 boolean shouldSelectCell(EventObject event)
          针对返回值,向 realEditor 发送消息。
protected  boolean shouldStartEditingTimer(EventObject event)
          如果 eventMouseEvent,并且单击计数为 1,则返回 true。
protected  void startEditingTimer()
          启动编辑计时器。
 boolean stopCellEditing()
          如果 realEditor 允许编辑停止,则移除 realEditor,并返回 true,否则返回 false。
 void valueChanged(TreeSelectionEvent e)
          重置 lastPath
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

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
在编辑中使用。指定存放 editingComponent 的 x 位置。


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

指定者:
接口 TreeCellEditor 中的 getTreeCellEditorComponent
参数:
tree - 要请求编辑器进行编辑的 JTree;此参数可以为 null
value - 要编辑的单元格的值
isSelected - 如果将呈现单元格并在选择时高亮显示,则为 true
expanded - 如果该节点被扩展,则为 true
leaf - 如果该节点是叶节点,则为 true
row - 正在编辑的节点的行索引
返回:
用于编辑的组件

getCellEditorValue

public Object getCellEditorValue()
返回当前正在编辑的值。

指定者:
接口 CellEditor 中的 getCellEditorValue
返回:
当前正在编辑的值

isCellEditable

public boolean isCellEditable(EventObject event)
如果 realEditor 将 true 返回到此消息,则会通知 prepareForEditing,并返回 true。

指定者:
接口 CellEditor 中的 isCellEditable
参数:
event - 编辑器考虑是否开始进行编辑时应该使用的事件
返回:
如果可开始进行编辑,则返回 true
另请参见:
CellEditor.shouldSelectCell(java.util.EventObject)

shouldSelectCell

public boolean shouldSelectCell(EventObject event)
针对返回值,向 realEditor 发送消息。

指定者:
接口 CellEditor 中的 shouldSelectCell
参数:
event - 编辑器开始进行编辑时应该使用的事件
返回:
如果编辑器愿意选择正编辑的单元格,则返回 true;否则返回 false
另请参见:
CellEditor.isCellEditable(java.util.EventObject)

stopCellEditing

public boolean stopCellEditing()
如果 realEditor 允许编辑停止,则移除 realEditor,并返回 true,否则返回 false。

指定者:
接口 CellEditor 中的 stopCellEditing
返回:
如果编辑已停止,则返回 true;否则返回 false

cancelCellEditing

public void cancelCellEditing()
cancelCellEditing 发送到 realEditor,并从此实例移除它。

指定者:
接口 CellEditor 中的 cancelCellEditing

addCellEditorListener

public void addCellEditorListener(CellEditorListener l)
添加 CellEditorListener

指定者:
接口 CellEditor 中的 addCellEditorListener
参数:
l - 要添加的侦听器

removeCellEditorListener

public void removeCellEditorListener(CellEditorListener l)
移除以前添加的 CellEditorListener

指定者:
接口 CellEditor 中的 removeCellEditorListener
参数:
l - 要移除的侦听器。

getCellEditorListeners

public CellEditorListener[] getCellEditorListeners()
返回使用 addCellEditorListener() 添加到此 DefaultTreeCellEditor 中的所有 CellEditorListener 组成的数组。

返回:
添加的所有 CellEditorListener,如果没有添加侦听器,则返回一个空数组
从以下版本开始:
1.4

valueChanged

public void valueChanged(TreeSelectionEvent e)
重置 lastPath

指定者:
接口 TreeSelectionListener 中的 valueChanged
参数:
e - 表现更改的特征的事件。

actionPerformed

public void actionPerformed(ActionEvent e)
计时器被激发时传递消息,这将启动编辑会话。

指定者:
接口 ActionListener 中的 actionPerformed

setTree

protected void setTree(JTree newTree)
设置当前正在为其编辑的树。这是添加选择侦听器所需要的。

参数:
newTree - 要编辑的新树

shouldStartEditingTimer

protected boolean shouldStartEditingTimer(EventObject event)
如果 eventMouseEvent,并且单击计数为 1,则返回 true。

参数:
event - 正在研究的事件

startEditingTimer

protected void startEditingTimer()
启动编辑计时器。


canEditImmediately

protected boolean canEditImmediately(EventObject event)
如果 eventnull,或者它是一个单击计数 > 2 的 MouseEvent,并且 inHitRegion 返回 true,则此方法返回 true。

参数:
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)

prepareForEditing

protected void prepareForEditing()
仅在编辑启动之前调用。将把 editingComponent 添加到 editingContainer


createContainer

protected Container createContainer()
创建管理 editingComponent 放置的容器。


createTreeCellEditor

protected TreeCellEditor createTreeCellEditor()
如果构造方法中没有提供 TreeCellEditor,则调用此方法。它返回一个 TextField 编辑器。

返回:
新的 TextField 编辑器