问题标签 [defaultmutabletreenode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
325 浏览

java - 如何在给定路径的树中找到节点

我在 java 中有一个 TreeModel,我得到了一个查找路径以检查该路径是否存在。例如 /dir1/dir2/dir3/ 是我树中的现有路径。我的树是非二元的。我将如何解决这个问题?我的想法是让函数采用 DefaultMutableTreeNode 然后检查节点是否与我路径中的第一个目录具有相同的名称,以此类推其余目录。我的问题是如何递归地更改为下一个字符串和下一个节点。如果我的函数是递归的、迭代的等。任何帮助都会很棒!提前致谢。

0 投票
1 回答
55 浏览

java - 如何创建 JTree 扩展监听器

我在创建TreeExpansionListener. 我认为它可以像TreeSelectionListener. 不幸的是,我找不到正确的界面。

这是我的听众:

我收到的错误是“不兼容的类型:TreeExpansionListener 不是功能接口。在 TreeExpansionListener 中找到多个非覆盖抽象方法”

与我的比较TreeSelectionListener: private TreeSelectionListener createSelectionListener() { return (TreeSelectionEvent e) -> {

我对这一切都错了吗?还是我错过了一些明显的东西?

0 投票
0 回答
71 浏览

java - 选择之前的TreeNode (java swing, tree)

我正在寻找一种在按钮单击时在实际选择的节点之前选择 TreeNode 的方法(如果没有选择节点,则应该选择根节点之后的第一个节点)。我基本上有一个 Hashtable ht 和一个充满节点的 JTree(所有节点都允许子节点)。一旦我单击一个节点,我想在哈希表中查找该对象,系统应该写出类似“你选择了'Object.name'”的内容。然后用户应该能够单击 JButton 并选择单击节点之前的节点。当然,这一行也应该有更新的“Object.name”。也许甚至有一种方法可以更新树的 GUI,以便将另一个 TreeNode 显示为选中状态。

我一直在尝试使用 selectionModel 和 TreeNodes 的 treePath-Methods 很长一段时间(例如,将它们保存在列表中并尝试在之前选择元素),但似乎没有任何效果。我也没有在 Google 或 StackOverflow 上找到任何有用的东西。我在想它可能会以某种方式与 DefaultMutableTreeNode 中的 getPreviousSibling-Method 一起工作?

我尝试的最后一件事:

不幸的是,我不断收到 NullPointerException:

空指针异常在这个片段的第 2 行(虽然我之前选择了另一个 TreeNode,但之前有一个兄弟)。

谁能告诉我我做错了什么或告诉我其他方法可能有用吗?:D 如果您需要更多信息,请不要问我。

0 投票
1 回答
103 浏览

java - JTree 节点编辑路径比较始终为真

我已经在文件服务器程序上工作了一段时间,到目前为止,我已经能够避免在这里发布一些东西来寻求帮助。但我在我的问题上找不到任何东西,我很困惑。

我添加了一个弹出菜单,其中包含创建新顶级文件夹的选项,它实际上只是创建一个节点,并在其编辑后将其名称发送到服务器以创建文件夹。虽然我的所有编辑工作正常并且上传工作正常,但我遇到了问题。

我在创建文件夹时将 JTree 更改为可编辑,并且持续循环直到该节点不是正在编辑的节点,此时它从 JTree 中删除了可编辑性。

不幸的是,while 检查tree.getEditingPath().equals(nfPath)总是返回true,因此它仍然是可编辑的。

但我不明白为什么它仍然是正确的,它显然不应该。如果它有助于/改变任何东西,它会在一个单独的线程中运行(否则 while 循环会阻止 GUI 呈现)

那么我应该/我能做什么,有没有更好的方法来做到这一点,或者至少有一个可行的方法?

更新:

虽然我还没有找到解决上述明确问题的方法,但如果我改为测试tree.isPathSelected(nfPath)That 工作正常并且树随后设置为不可编辑!

0 投票
2 回答
1114 浏览

java - 过滤 jtree - 保留符合条件的所有节点和节点的子节点

我有一个 DefaultMutableTreeNodes 的 JTree,我想过滤它们。

当我进行过滤时,我想保留任何符合我的条件或有符合我的条件的子节点的节点。

在这里,我包含了代码供您参考。

输出:

在此处输入图像描述

当我将搜索文本输入为“颜色”并单击 Enter 时。它仅显示 JTree 和 Colors 节点。

问题:

  1. 我想展示颜色的孩子。即蓝色、紫色等,

  2. 我发现的另一个问题是在执行搜索操作后,鼠标向上滚动不起作用而向下滚动工作正常。它可以通过搜索“e”并缩小框架并向下和向上滚动鼠标来复制。

注意:我使用的是 Ubuntu 14.04 LTS。

有任何想法吗?

0 投票
1 回答
64 浏览

java - 用于 Spark mapToPair 时,DefaultMutableTreeNode 值设置为默认值

我有一个问题,类型 DefaultMutableTreeNode 变量的值一旦在 Spark mapToPair() 函数中使用就会变为默认值。这是我的代码:

接口 IB、ID、CB 和 CD 类定义如下:

问题是,CA.FuncWithSpark() 中 DefaultMutableTreeNode 类型的变量发生了什么?是因为 Spark 转换,还是 DefaultMutableTreeNode 的成员变量受到保护而没有访问者?请给我一个解决这个问题的方向。感谢您提前提供任何帮助!

0 投票
1 回答
231 浏览

java - TreeView 节点名称窃听

我在处理 TreeView 时遇到了很多麻烦,尤其是每个节点显示的文本。

从树的初始化程序开始,我希望在其中有一个带有文本的节点,它可能会使程序对用户更直观:

我添加初始化树:

没有显示“Relatórios Individuais”,Tree 好的,另一个错误

我忽略了这个问题并继续实际填充节点,用户指定他的搜索并按“确定”,这就是我们填充树的时候,第二张图像。

但是随后另一个奇怪的问题来了,如果再次按下“确定”,一些文字会变得奇怪,第三张图片。

这是 cade 中创建节点的部分。对于为每种类型的报告和每个报告批次创建的文件节点数组,它并不重要。

我认为真正的问题是:

这是定义树内容的正确方法吗?

编辑。:按钮确定:

编辑:CheckBoxCellRenderer:

0 投票
1 回答
487 浏览

java - 在 JTree 中动态添加节点

我在将节点动态添加到我的 JTree 时遇到了问题。

我通过 json 格式的 RestAPI 接收我的 JTree 信息。我需要的信息是文件夹 ID 和文件夹名称。

folderID 结构是这样的:

所以我需要通过我的文件夹ID 点来定义我的节点级别。我搜索了一些代码并找到了这个。

在 JTree 中动态添加节点

但是当我实现代码时,我收到一条错误消息:无法将根解析为变量

您能帮我找到解决问题的方法吗?

0 投票
0 回答
33 浏览

java - Java Swing > 通过从 Jtree 模型中选择 DefaultMutableTreeNode 来调用特定的 powershell 脚本

我第一次使用 java Swing,我想知道是否可以为每个 DefaultMutableTreeNode 添加值并通过选择特定节点来引用它们?

例如,通过从 Jtree 模型中选择节点来调用特定的 powershell 脚本(1 个节点 = 1 个脚本)。我真的是新手,如果有人可以解释或将我重定向到某个解决方案,我将非常感激;p

0 投票
1 回答
45 浏览

java - 显示驱动器的 JTree 根本不显示

我的任务是显示 PC 驱动器的所有目录/文件的树,我有一个DirectoryNode扩展DefaultMutableTreeNodeFilefield的类directoryPath。我递归地构建节点:

它适用于具体目录,但是当我尝试将它用于整个驱动器或一些大目录时,JTree这个节点根本不显示,我认为它遇到了特定目录的问题。我添加了存在和隐藏检查来跳过这个问题的根源,但它没有帮助。

此外,exists,isHiddenisDirectory返回false我的一些有效目录目录(我使用的是 Windows 10)。