JUNG:按顺序放置树节点

2023-11-29

将节点添加到我的DelegateTree,它们在视觉上并不按照我添加它们的顺序出现。 我一直在寻找解决方案,但还没有找到任何东西。 有谁知道如何改变这个吗?

提前致谢!

EDIT:我的代码

/**
 * Generate a visualization of the decision tree.
 * 
 * @param tree
 *            The decision tree
 * @return A component to be placed inside a JPanel
 */
public static GraphZoomScrollPane generateTree(Tree tree,
        GraphicalUserInterface gui) {

    /* Create a new tree */
    DelegateTree<Node, Edge> graphTree = new DelegateTree<Node, Edge>();

    /* Add all nodes and vertices to the tree */
    graphTree.addVertex(tree.getRoot());
    addChildren(tree.getRoot(), graphTree);

    /* Create the visualization */
    DynamicTreeLayout<Node, Edge> treeLayout = new DynamicTreeLayout<Node, Edge>(graphTree, 100, 100);
    VisualizationViewer<Node, Edge> vv = new VisualizationViewer<Node, Edge>(
            treeLayout);
    vv.setDoubleBuffered(true);
    vv.setBackground(Color.WHITE);
    vv.getRenderContext().setEdgeLabelTransformer(
            new ToStringLabeller<Edge>());
    vv.getRenderContext().setEdgeShapeTransformer(
            new EdgeShape.Line<Node, Edge>());
    vv.getRenderContext().setVertexLabelTransformer(
            new ToStringLabeller<Node>());
    vv.getRenderer().getVertexLabelRenderer()
            .setPosition(Renderer.VertexLabel.Position.S);

    vv.addGraphMouseListener(new ClickNode(gui, vv));

    final DefaultModalGraphMouse<Node, Edge> graphMouse = new DefaultModalGraphMouse<Node, Edge>();

    graphMouse.setMode(ModalGraphMouse.Mode.TRANSFORMING);

    vv.setGraphMouse(graphMouse);

    final GraphZoomScrollPane gzsp = new GraphZoomScrollPane(vv);

    return gzsp;
}

/**
 * Recursively add all nodes and edges to the tree.
 * 
 * @param node
 *            The parent node
 * @param tree
 *            The tree visualization
 */
private static void addChildren(Node node, DelegateTree<Node, Edge> tree) {
    for (int i = 0; i < node.getChildren().size(); i++) {
        tree.addChild(new Edge(node.getChildren().get(i).getEdgeLabel()), node, node
        .getChildren().get(i));
        addChildren(node.getChildren().get(i), tree);
    }
}

使用 DelegateTree 的底层实现,根据顶点的自然顺序 (*Sorted*Graph) 对其顶点进行排序,或者使用插入顺序 (*Ordered*Graph)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JUNG:按顺序放置树节点 的相关文章

  • 未找到 MessageSource 的 ResourceBundle [消息]:找不到基本名称消息的包

    在 applicationContext xml 中 我定义了 MessageSource 如下所示
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • 添加动态数量的监听器(Spring JMS)

    我需要添加多个侦听器 如中所述application properties文件 就像下面这样 InTopics Sample QUT4 Sample T05 Sample T01 Sample JT7 注意 这个数字可以多一些 也可以少一些
  • 禁用 Eclipse Java 调试器的热代码替换 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Eclipse 中禁用热代码替换 https stackoverflow com questions 2594408 how do i disable hot code replace in
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • 如何让spring为JdbcMetadataStore创建相应的schema?

    我想使用此处描述的 jdbc 元数据存储 https docs spring io spring integration docs 5 2 0 BUILD SNAPSHOT reference html jdbc html jdbc met
  • 如何将 Jfreechart(饼图)添加到 netbeans 的面板中

    我正在使用 netbeans gui 编辑器 并且正在尝试添加一个本身位于内部框架中的 Jfreechart 并且这个内部框架我想将其添加到面板中 正如您在此图中看到的那样 抱歉 我无法直接发布图像 因为我新手 http www flick
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • 在哪里存储 Java 的 .properties 文件?

    The Java教程 http download oracle com javase tutorial essential environment properties htmlon using Properties 讨论如何使用 Prop

随机推荐

  • 如何自定义浮动操作按钮形状?

    我正在尝试创建一个具有自定义形状的自定义 FAB 我尝试过设置android background随着shapeAppearanceOverlay and shapeAppearance财产 但仍然没有运气
  • 如何使用 Firefox SDK 插件将 iframe 附加到托管页面?

    Assume frame htmlFirefox SDK 插件中的数据文件夹内 如何附加 iframe 并定义frame html作为它的来源 附加信息 由于CPS 不可能使用内联源 所以我不能使用data load frame html
  • Ubuntu 11.04 上的 wx.TaskBarIcon

    Ubuntu 11 04下Unity没有托盘 如何让图标出现在 Unity 中的某个位置 wx TaskBarIcon 没有出现在任何地方 谢谢 使用 Ubuntu Unity 桌面环境 即 Ubuntu 11 04 或 11 10 您需要
  • Struts 2 中的 等效项

    下面是 html 标签 multibox 我想将其迁移到 struts 2
  • Strapi:是否可以跟踪用户修改内容?

    我目前正在对 Strapi 进行一些研究 以便在其上构建我的 API 我想知道是否可以在 JSON 中公开一个字段 该字段包含有关负责对特定内容进行最后修改的用户的信息 我知道 API 默认在 JSON 对象中公开一个 updatedAt
  • matplotlib 轴刻度标签由散点图覆盖(使用脊柱)

    我想让我的轴穿过散点图中的原点 0 0 这就是我在下面的示例中设置脊柱位置的原因 问题是散点图上的实际数据点覆盖了轴刻度标签 因此无法看到它们 如何让 matplotlib 用我的轴刻度标签 覆盖 数据点以便可以看到它们 import nu
  • 使用 PDFBox ETSI 验证进行 Pades 签名

    我使用 PDFBOX 创建了 PDF PAdES 签名 并且正在使用 ETSI 在线验证器1 它需要注册 现在我在报告中只收到两个错误 但我有点不知道它们是什么或如何修复它们 这是 etsi 在线验证器报告 这是我用来签名的代码 Overr
  • 如何使用 Swing 和 JLayer<> 在 Java 中制作模糊的 JFrame/JDialog?

    我正在尝试模糊我的 JFrame 这个想法是使用 JLayer LayerUI 模糊 JFrame 中的所有组件 控件 这是我到目前为止所做的 这是制作模糊效果的 LayerUI 类 import java awt Component im
  • 自 Google Scripts V8 更新以来搜索模式错误

    自从谷歌强制更新后 这个项目正在我们由 Chrome V8 提供支持的新 Apps 脚本运行时上运行 我收到以下错误 但我不明白为什么 异常 无效参数 recreateReferral 处的 searchPattern recreateRe
  • 将用户区域设置包含到 Keycloak ID 令牌中

    我希望 Keycloak 1 4 0 将用户选择的区域设置包含到 ID 令牌中 我已经创建了一个用户属性映射器 它应该将区域设置属性映射到令牌 但它不起作用 有人知道怎么做这个吗 提前致谢 编辑 我从这堂课中学到了关于 Keycloak L
  • MVC 验证消息 - 本地化?

    我有个问题 主服务器和本地主机上的文件完全相同 但在本地主机中 我有我的母语的消息 例如 Pole Email jest wymagane 在主服务器上我有 The Email field is required 正如我所说 文件是完全相同
  • QML 渲染引擎:帧刷新事件

    性能考虑因素和建议文章说 作为应用程序开发人员 您必须努力让渲染 引擎实现一致的每秒 60 帧的刷新率 60 FPS 意味着每个帧之间大约有 16 毫秒 可以在其中进行处理的框架 其中包括处理 将绘制基元上传到图形硬件所需的 是否有事件或信
  • 法语翻译引发“ValueError('复数形式的无效标记:%s'%值)”

    我想处理我的网站的法语版本 我将 Django 2 2 与 i18n 一起使用 并且我已经在 settings py 中设置了语言环境变量 Internationalization https docs djangoproject com
  • 使用身份验证 cookie 打开 WebSocket 连接

    我有同样的问题Android 中的 Websocket 和 cookie 我一直在尝试按照第一条评论的建议解决这个问题 WebSocketClient URI serverUri 草稿协议Draft 映射httpHeaders int co
  • 在 Java 中打印 BufferedImage 的正确方法

    我想知道是否有正确的方法来打印BufferedImage在爪哇 基本上我已经创建了一个运行良好的照片处理程序 我可以保存图像等 但我真正的目标是将其发送到打印机软件 以便您可以选择要打印的页数和页面类型 所以我的简短问题是 如何将缓冲图像发
  • Object var 和 Object* var = new Object() 之间的区别

    如果我有一个名为 Object 的类 那么创建一个实例有什么区别 Object var and Object var new Object 这里你在堆栈上创建 var Object var 所以在上面的内容中 var是实际的对象 这里您在堆
  • Javascript 在页面上查找文本

    我需要在类似于以下内容的 HTML 上运行搜索和替换 我需要有 查找下一个 替换 和 全部替换 选项 诀窍是我需要运行 AJAX 请求替换值后 更新数据库中每个字段的值 我遇到的唯一麻烦是我不确定如何搜索内容 sheet并将这些值替换为用户
  • 使用 PHP 强制下载文件

    我的服务器上有一个 CSV 文件 如果用户单击链接 它应该下载 但它会在我的浏览器窗口中打开 我的代码如下所示 a href files csv example example csv Click here to download an e
  • 如何触发mapView:didSelectAnnotationView

    我是 iPhone 开发新手 我一直在阅读有关如何使谷歌地图注释标注窗口接受换行符的几个问题 我读过的每个教程都要求我启动mapView didSelectAnnotationView方法 但我不知道如何触发这个 我尝试过的事情包括 将方法
  • JUNG:按顺序放置树节点

    将节点添加到我的DelegateTree 它们在视觉上并不按照我添加它们的顺序出现 我一直在寻找解决方案 但还没有找到任何东西 有谁知道如何改变这个吗 提前致谢 EDIT 我的代码 Generate a visualization of t