Module  java.desktop
软件包  javax.swing.tree

Class DefaultTreeCellEditor

  • All Implemented Interfaces:
    ActionListenerEventListenerCellEditorTreeSelectionListenerTreeCellEditor


    public class DefaultTreeCellEditor
    extends Object
    implements ActionListener, TreeCellEditor, TreeSelectionListener
    A TreeCellEditor 您需要提供DefaultTreeCellRenderer的实例,以便可以获取图标。 您可以选择提供一个TreeCellEditor ,这个TreeCellEditor将根据DefaultTreeCellRenderer的图标进行DefaultTreeCellRenderer 如果您不提供TreeCellEditor ,将使用TextField 编辑是通过三点鼠标点击,点击,暂停,点击和延迟1200毫秒来启动的。

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

    另请参见:
    JTree
    • 字段详细信息

      • realEditor

        protected TreeCellEditor realEditor
        编辑器处理编辑。
      • 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
        如果绘制边框选择颜色,则为真。
      • 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()
      • 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 - 如果节点被扩展, expanded true
        leaf - 如果节点是叶节点, leaf true
        row - 正在编辑的节点的行索引
        结果
        用于编辑的组件
      • getCellEditorValue

        public Object getCellEditorValue​()
        返回当前正在编辑的值。
        Specified by:
        getCellEditorValue在接口 CellEditor
        结果
        当前正在编辑的值
      • stopCellEditing

        public boolean stopCellEditing​()
        如果 realEditor允许编辑停止,则 realEditor被删除,并返回true,否则返回false。
        Specified by:
        stopCellEditing在接口 CellEditor
        结果
        如果编辑停止,则为true; 否则为假
      • cancelCellEditing

        public void cancelCellEditing​()
        消息 cancelCellEditingrealEditor并将其从此实例中删除。
        Specified by:
        cancelCellEditing在接口 CellEditor
      • getCellEditorListeners

        public CellEditorListener[] getCellEditorListeners​()
        返回使用addCellEditorListener()添加到该DefaultTreeCellEditor的所有 CellEditorListener的数组。
        结果
        所有添加的 CellEditorListener或一个空数组,如果没有添加听众
        从以下版本开始:
        1.4
      • actionPerformed

        public void actionPerformed​(ActionEvent e)
        在定时器触发时消息传送,这将开始编辑会话。
        Specified by:
        actionPerformed在接口 ActionListener
        参数
        e - 要处理的事件
      • setTree

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

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

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

        protected boolean canEditImmediately​(EventObject event)
        如果返回true eventnull ,或者它是一个 MouseEvent与点击计数> 2 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编辑