`
henry406
  • 浏览: 115804 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

修改树节点

    博客分类:
  • java
阅读更多
修改jtree树节点时,需要先注册树节点的编辑事件,然后在编辑类中重写editingStopped和editingCanceled两个方法即可实现,如下:

注册事件:
tree.getCellEditor().addCellEditorListener(new Tree_CellEditorAction());

编辑的实现:
    class Tree_CellEditorAction implements CellEditorListener {
        public void editingStopped(ChangeEvent e) {
            Object selectnode = tree.getLastSelectedPathComponent();
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectnode;
            CellEditor cellEditor = (CellEditor) e.getSource();
            String newName = (String) cellEditor.getCellEditorValue();

            Object object = lastEditedNode.getUserObject();
            node.setUserObject(newName);
            

            DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
            model.nodeStructureChanged(node);
            tree.setEditable(false);
        }

        public void editingCanceled(ChangeEvent e) {
            editingStopped(e);
        }
    }
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    C#树节点的直接修改

    在C#中直接修改树节点,主要涉及以下几个操作: 1. **添加节点**:可以使用`Add`方法向`Children`列表中添加新的`TreeNode`实例。例如: ```csharp TreeNode newNode = new TreeNode("新节点"); TreeNode ...

    c++树状控件双击修改节点名称

    在这个场景下,"双击修改节点名称"是一个常见的功能需求,它涉及到事件处理、控件操作以及字符串的更新。 1. **事件处理**: - 当用户双击树状控件中的节点时,会产生一个`NM_DBLCLK`通知消息。你需要在你的C++类...

    任意拖动树节点,树节点之间的箭头绘制

    它提供了添加、删除、修改树节点,以及处理用户事件(如鼠标点击、拖动)的方法。在这个项目中,我们需要重载`OnHvnItemDrag`和`OnHvnItemDrop`等消息处理函数,以支持节点的拖放功能。 3. **拖放操作(Drag and ...

    TreeView(实现树的节点增加、删除、拖拽、修改节点名等)

    本篇文章将详细讲解如何利用`TreeView`控件实现树的节点增加、删除、拖拽以及修改节点名等功能。 首先,我们要了解`TreeView`的基本操作。在Windows Forms或WPF中,`TreeView`控件提供了`Nodes`属性,它是一个`...

    java树节点逐级汇总.zip

    "java树节点逐级汇总.zip"这个压缩包提供的内容,旨在帮助开发者处理无序列表数据,并将其转化为可以逐级汇总的树形结构。下面将详细介绍这个过程中的关键知识点。 1. **树形结构**: - 树形结构是一种非线性的...

    编写一个能动态改变树结点的程序

    9. **`setEditable(true)`**: 这个方法设置`JTree`为可编辑状态,允许用户直接在界面上修改树节点的文本。 10. **`setSelectionMode`**: 通过设置选择模式为`SINGLE_TREE_SELECTION`,确保每次只能选择一个树节点。...

    android树节点例子

    "android树节点例子"就是一个关于如何在Android应用中实现树状视图的示例。在这个例子中,主要涉及到的技术点包括数据结构、自定义View、Adapter以及事件处理等。 首先,树节点(TreeNode)是树形数据结构的基本...

    完整的ZTree树展示及对树节点的增删改

    本话题将深入探讨ZTree的完整展示以及如何对树节点进行增加、删除和修改操作,同时也包括树节点之间的拖拽功能。 一、ZTree的完整展示 ZTree的完整展示涉及到以下几个关键点: 1. 数据源:ZTree的数据源通常是一...

    TreeWidget节点得删除和修改

    这个组件允许用户通过树状视图来浏览和操作数据,每个节点都可以包含子节点,形成一个可扩展的树形结构。本篇文章将深入探讨如何在QT的TreeWidget中进行节点的删除和修改操作,同时提供相应的代码示例和详细注释,以...

    java 实现动态改变树形结构中主节点的名称

    根据提供的文件信息,我们可以分析并总结出以下关于...综上所述,本案例主要介绍了如何使用Java Swing构建一个树形结构,并通过监听用户事件动态修改主节点的名称。这对于开发具有动态更新需求的应用程序非常有用。

    树形菜单,可以拖拽,可修改层级,名称、添加节点、切换节点

    标题中的“树形菜单,可以拖拽,可修改层级,名称、添加节点、切换节点”描述的是一个基于前端UI技术实现的功能丰富的交互式菜单系统。这个系统具备以下关键知识点: 1. **树形结构**:在计算机科学中,树形结构是一...

    TreeView添加、删除、修改节点的实现

    每个TreeNode代表一个树节点,它可以包含子节点(TreeNode的实例)形成树状结构。TreeNode对象有多个属性,如Text(节点文本)、Tag(附加数据)、Nodes(子节点集合)等,以及一些方法,如Remove()(删除节点)、...

    可自定义树节点的Tree组件

    `可自定义树节点的Tree组件`是一个专为满足这种需求而设计的功能强大的工具。它允许开发者根据具体项目的需求来定制树形结构的节点展示,提升用户体验并优化数据管理。在本文中,我们将深入探讨这个组件的工作原理、...

    右击树形控件实现节点动态添加删除修改(VC 6.0实现)

    本教程将详细讲解如何通过右击树形控件来实现节点的动态添加、删除和修改功能,这对于理解和掌握MFC中的树形控件操作具有重要的实践意义。 首先,我们需要在资源编辑器中添加一个树形控件到对话框,并将其ID命名为...

    Qt treeWidget树控件之增删改节点

    接下来,我们讨论如何动态地修改节点。`QTreeWidget`提供了`insertTopLevelItem`、`insertChild`等方法来添加节点,`removeChild`和`takeTopLevelItem`用于删除节点。例如,要在顶级节点下插入一个子节点: ```cpp ...

    树形表格菜单 动态添加节点/动态删除节点/动态移动节点

    1.完整的包命名空间 2.自定义header footer 3.动态添加节点/动态删除节点/动态...15.支持插件开发,可以为树添加更多功能,例如下拉框树,选择框树,可编辑内容的树,拖动节点等都可以很容易自己实现或者根据第三方js实现

    xml文件树形显示,可添加删除修改xml节点

    "可添加删除修改xml节点"则意味着我们需要具备对DOM树进行操作的能力。添加节点涉及创建新的DOM节点,并将其插入到适当的位置;删除节点则需要找到目标节点并从树中移除;修改节点则包括改变节点的属性或文本内容。...

    Unity3D 编辑器行为树节点样例_BehaviorTree

    本项目"Unity3D 编辑器行为树节点样例_BehaviorTree"提供了一个行为树编辑器的示例,旨在帮助开发者自定义和扩展以适应其特定项目的需求。 行为树是一种图形化表示,由各种节点组成,用于构建复杂的AI逻辑。在Unity...

    浅析动态添加、删除、修改TreeView节点

    在Windows应用程序开发中,TreeView控件是一个常用的组件,用于展示层次结构...在“DynamicTreeView_动态操作树形节点”这一资源中,可能包含了示例代码和更详细的操作步骤,可以帮助开发者更好地理解和实践这些操作。

    Qt5 qml TreeView 迄今为止功能最全的树控件节点前增减节点、节点后增加节点、重命名节点及节点选中、悬浮背景颜色定制等功能

    要在树视图的节点前或后增加新节点,你需要首先定义一个数据模型来存储节点信息。例如,可以使用`ListModel`,然后利用`insertRow`方法在适当的位置插入新的数据项。同时,需要确保`TreeView`的`model`属性被设置为...

Global site tag (gtag.js) - Google Analytics