标签: tree-nodes

在JTree中添加和删除节点

我有一个非常基本的JTree.因为我匆忙,TreeModel如果不需要,我宁愿不使用.我写了一个SSCCE来揭露这个问题:

有时我会添加一个节点.其他时候我删除它们.当我推送时Add,正确添加了一个节点.当我推Remove,它应该删除节点,但它没有.此外,如果我尝试添加多个节点,树只会保留我添加的第一个节点.

我写了一个更新方法JTree,我首先擦除从根节点挂起的所有节点,然后我看看我必须创建哪些节点和子节点.

除了不使用TreeModel操作树之外,我在这里做错了什么?

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;


public class TreeTest {
    private JFrame myFrame;
    private JTree myTree;
    private JButton addButton, removeButton;

    private int numberOfNodes;
    private DefaultMutableTreeNode rootNode;

    private ArrayList<String> graphicIDS;
    private ArrayList<String> graphicInfo;

    public static void main (String [ ] args){
        new TreeTest();
    }

    public TreeTest() { …
Run Code Online (Sandbox Code Playgroud)

java swing jtree tree-nodes treemodel

20
推荐指数
1
解决办法
6万
查看次数

如何获取.NET中TreeView中所有子节点的列表

我的WinForms .NET应用程序中有一个TreeView控件,它具有多级子节点,其子节点具有更多子节点,没有定义的深度.当用户选择任何父节点(不一定在根级别)时,如何获得该父节点所有节点的列表?

例如,我从这开始:

Dim nodes As List(Of String)

For Each childNodeLevel1 As TreeNode In parentNode.Nodes
    For Each childNodeLevel2 As TreeNode In childNodeLevel1.Nodes
        For Each childNodeLevel3 As TreeNode In childNodeLevel2.Nodes
            nodes.Add(childNodeLevel3.Text)
        Next
    Next
Next
Run Code Online (Sandbox Code Playgroud)

问题是这个循环深度是定义的,我只是将节点隐藏在三个级别.如果用户下次选择父节点时有七个级别怎么办?

.net vb.net treeview tree-nodes

16
推荐指数
4
解决办法
8万
查看次数

如何在树中搜索节点并将其返回?

我正在尝试在二叉树中搜索一个节点,如果它在那里则返回,否则返回null.顺便说一句,节点类有一个方法名称()返回一个带有它的名字的字符串...到目前为止我所拥有的是:

private Node search(String name, Node node){

     if(node != null){
         if(node.name().equals(name)){
            return node;
         }

      else{
         search(name, node.left);
         search(name, node.right);
      }
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

它是否正确??

java binary-tree tree-nodes

11
推荐指数
1
解决办法
7万
查看次数

我如何将此工作流表示为JavaScript数据结构?

我正在处理一个非常复杂的工作流程,我希望将其表示为JavaScript数据结构.流程本质上是一组问题和答案,其中一个问题的答案影响下一个问题.以下是流程可能如下所示的基本示例:

在此输入图像描述

我不确定如何将此流转换为易于使用的JavaScript对象.理想情况下,我希望有一个易于循环/递归的结构,并且可以轻松修改,因此如果有人想在以后更改流程,他们可以这样做,而无需进行太多更改.

我觉得这是一种奇怪的树结构,其中节点可以有多个父节点.(我不确定这样的数据结构是什么.)

无论如何,我唯一的想法是为每个节点分配一个ID,然后创建一个节点对象数组,如下所示:

{
  id: 5,
  parents: [2, 3],
  children: [6, 7, 8]
}
Run Code Online (Sandbox Code Playgroud)

但是,当涉及到循环遍历节点对象时,这似乎是非常不灵活的(尽管我可能是错的).

如果有人可以提供一些关于我应该研究什么样的数据结构以及可能如何在JavaScript中实现它们的指导/指导,我将非常感激.

非常感谢你提前.

javascript recursion tree-nodes nodes data-structures

9
推荐指数
1
解决办法
630
查看次数

用于关系可视化的javascript框架

可能重复:
javascript中的图形可视化代码?

我需要在Javascript中为节点及其关系创建动态可视化.什么是最好的框架?这是我到目前为止简要回顾的内容:

  • Flare - 它是Flash并且近两年没有更新.
  • JavaScript InfoVis Toolkit - 交互似乎有点慢,也许这是在演示中的目的
  • Protovis - 文档看起来很棒,在IE中根本不起作用(我可以使用某种IE SVG适配器吗?)

这些是最好的在图表中显示节点并在javascript中与它们交互吗?

javascript visualization graph tree-nodes javascript-framework

7
推荐指数
1
解决办法
7739
查看次数

TreeNode右键单击选项

我在我的C#GUI应用程序中使用TreeView和TreeView.Nodes,并希望在我的树中的几个节点上使用右键单击功能.我搜索了很多但似乎SelectedNode仅对左键单击有效,并且没有任何东西可以捕获节点上的右键单击.我想在右键单击时向节点添加"添加","删除","重命名"等功能.有什么指导吗?

谢谢,Viren

c# tree-nodes winforms

4
推荐指数
1
解决办法
1万
查看次数

TreeNode上IEnumerator的参数

TreeNode上IEnumerator的有效参数是什么?

我在这一行得到了错误:

IEnumerator ie = tn.Nodes.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)

在这个方法中:

private void parseNode(TreeNode tn)
    {
        IEnumerator ie = tn.Nodes.GetEnumerator();

        string parentnode = "";

        parentnode = tn.Text;

        while (ie.MoveNext())
        {
            TreeNode ctn = (TreeNode)ie.Current;

            if (ctn.GetNodeCount(true) == 0)
            {
                _nodeToString += ctn.Text;
            }
            else
            {
                _nodeToString += "<" + ctn.Text + ">";
            }
            if (ctn.GetNodeCount(true) > 0)
            {
                parseNode(ctn);
            }
        }

        _nodeToString += "</" + parentnode + ">";
        _nodeToString += "\n";
    }
Run Code Online (Sandbox Code Playgroud)

c# tree-nodes

2
推荐指数
1
解决办法
1300
查看次数