Java JTree 获取所选节点的名称

标签 java swing jtree treenode

我想了解如何获取 JTree 中所选节点的名称,而不是作为树节点文本的 userObject。

我手动创建了几个树节点,我需要根据节点名称确定选择哪一个。

DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); 
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Hey it's node1!");
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Hey, it's node2!");
root.add(node1); root.add(node2); 

现在,基于此,我需要知道是否选择了node1或node2。我想要返回值node1或node2(变量名)。

为了更清楚地说明这一点:我有一个 JFrame、一个 JPanel、一个 JScrollPane、一个 JTree 和一些文本字段。根据单击的节点(节点 1 或节点 2),我想显示或隐藏某些文本字段。

最佳答案

如果我希望我的节点有一个名称,我会扩展基类,这里是 DefaultMutableTreeNode,并给它一个字符串名称字段,然后通过构造函数填充该字段,该构造函数同时接受一个字符串名称参数和字符串文本参数。然后还给它一个 getter 方法。

我不会尝试获取它的“变量”名称,因为这几乎毫无意义。许多变量甚至没有“名称”,一个对象可以被 2、3、100、... 变量引用。

<小时/>

编辑
您在编辑中声明:

To make this more clear: I have a JFrame, with a JPanel, a JScrollPane, a JTree, and some text fields. Depending on which node is clicked (node 1, or node 2), I want to show or hide certain text fields.

同样,变量名几乎毫无意义,并且几乎不存在于编译的代码中。重要的是变量引用 - 能够获取变量,以及对象状态 - 该变量所保存的字段的状态。

关于Java JTree 获取所选节点的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098319/

相关文章:

java - 如何将 Spring Data JPA 正确配置到 Spring Boot 2.X 应用程序的 application.properties 配置文件中?

java - 在 Android 中使用 RX2 时出现 NetworkOnMainThreadException

java - 在表/树表上搜索按键

java - FTP 使用服务器中的文件和目录填充 jtree

java - 显示问题 LWJGL

java显示隐藏框架

java - 无法使用 setDefaultCloseOperation 关闭窗口

java - 当容器大小更改时,JTable 仅调整选定列的大小

java - 在不扩展 JTree 的情况下,是否可以在更改树中的对象后强制更新模型?

java - Hibernate + Spring 的意外缓存