模块 java.desktop

类 DefaultTreeCellEditor

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 毫秒后开始编辑。

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

参见:
  • 字段详细信息

    • 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
      如果应绘制边框选择颜色,则为真。
    • 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

      public Font  getFont()
      获取用于编辑的字体。
      返回:
      编辑Font
      参见:
    • getTreeCellEditorComponent

      public Component  getTreeCellEditorComponent(JTree  tree, Object  value, boolean isSelected, boolean expanded, boolean leaf, int row)
      配置编辑器。传递到 realEditor
      指定者:
      getTreeCellEditorComponent 在接口 TreeCellEditor
      参数:
      tree - 要求编辑器编辑的 JTree;此参数可以为空
      value - 要编辑的单元格的值
      isSelected - 如果要使用选择高亮显示单元格则为真
      expanded - 如果节点展开则为真
      leaf - 如果节点是叶节点则为真
      row - 正在编辑的节点的行索引
      返回:
      编辑组件
    • getCellEditorValue

      public Object  getCellEditorValue()
      返回当前正在编辑的值。
      指定者:
      getCellEditorValue 在接口 CellEditor
      返回:
      当前正在编辑的值
    • isCellEditable

      public boolean isCellEditable(EventObject  event)
      如果 realEditor 对此消息返回 true,则向 prepareForEditing 发送消息并返回 true。
      指定者:
      isCellEditable 在接口 CellEditor
      参数:
      event - 编辑器应该用来考虑是否开始编辑的事件
      返回:
      如果可以开始编辑则为真
      参见:
    • shouldSelectCell

      public boolean shouldSelectCell(EventObject  event)
      消息 realEditor 作为返回值。
      指定者:
      shouldSelectCell 在接口 CellEditor
      参数:
      event - 编辑器应该用来开始编辑的事件
      返回:
      如果编辑器希望选择编辑单元格,则为 true;否则返回假
      参见:
    • stopCellEditing

      public boolean stopCellEditing()
      如果 realEditor 将允许编辑停止,则删除 realEditor 并返回 true,否则返回 false。
      指定者:
      stopCellEditing 在接口 CellEditor
      返回:
      如果停止编辑则为真;否则为假
    • cancelCellEditing

      public void cancelCellEditing()
      realEditor 发送消息 cancelCellEditing 并将其从该实例中移除。
      指定者:
      cancelCellEditing 在接口 CellEditor
    • addCellEditorListener

      public void addCellEditorListener(CellEditorListener  l)
      添加 CellEditorListener
      指定者:
      addCellEditorListener 在接口 CellEditor
      参数:
      l - 要添加的监听器
    • removeCellEditorListener

      public void removeCellEditorListener(CellEditorListener  l)
      删除之前添加的 CellEditorListener
      指定者:
      removeCellEditorListener 在接口 CellEditor
      参数:
      l - 要删除的监听器
    • getCellEditorListeners

      public CellEditorListener [] getCellEditorListeners()
      返回使用 addCellEditorListener() 添加到此 DefaultTreeCellEditor 的所有 CellEditorListener 的数组。
      返回:
      添加所有 CellEditorListener s,如果没有添加任何监听器,则为空数组
      自从:
      1.4
    • valueChanged

      public void valueChanged(TreeSelectionEvent  e)
      重置 lastPath
      指定者:
      valueChanged 在接口 TreeSelectionListener
      参数:
      e - 表征变化的事件。
    • actionPerformed

      public void actionPerformed(ActionEvent  e)
      当计时器触发时发出消息,这将启动编辑会话。
      指定者:
      actionPerformed 在接口 ActionListener
      参数:
      e - 要处理的事件
    • setTree

      protected void setTree(JTree  newTree)
      设置当前编辑的树。这是添加选择监听所必需的。
      参数:
      newTree - 要编辑的新树
    • shouldStartEditingTimer

      protected boolean shouldStartEditingTimer(EventObject  event)
      如果 eventMouseEvent 且点击计数为 1,则返回真。
      参数:
      event - 正在研究的事件
      返回:
      event 是否应该启动编辑计时器
    • startEditingTimer

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

      protected boolean canEditImmediately(EventObject  event)
      如果 eventnull ,或者它是点击次数 > 2 的 MouseEvent 并且 inHitRegion 返回真,则返回真。
      参数:
      event - 正在研究的事件
      返回:
      是否可以为给定的 event 开始编辑
    • inHitRegion

      protected boolean inHitRegion(int x, int y)
      如果传入的位置是开始编辑的有效鼠标位置,则返回 true。如果 x <= 渲染器显示的图标和图标间隙的宽度,则此实现返回 false。换句话说,如果用户单击渲染器显示的文本部分,则返回 true,否则返回 false。
      参数:
      x - 点的 x 坐标
      y - 点的 y 坐标
      返回:
      如果传入的位置是有效的鼠标位置,则为真
    • 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 的放置。
      返回:
      新容器对象
    • createTreeCellEditor

      protected TreeCellEditor  createTreeCellEditor()
      如果构造函数中未提供 TreeCellEditor,则会调用此方法。它返回一个 TextField 编辑器。
      返回:
      一个新的 TextField 编辑器