java - 将对象保存在 JTree 中但更改显示的名称(java swing)?

标签 java swing jtree

我制作了一个 JTree 并用 ArrayList 中的对象填充了它。 当我用我的 GUI 显示 JTree 的内容时,我不想看到存储对象的内存地址,而是一个自定义的字符串。

例如:我将这个对象添加到我的树中:

DefaultMutableTreeNode tempnode = new DefaultMutableTreeNode(workspaces.get(i));

我在 GUI 上看到的是:

package.workspace@1df38f3

我想要替代文本而不是

package.workspace@1df38f3

待展示。 如何修复我的代码以支持此功能?

最佳答案

JTree 将对您添加的项目调用 toString 函数并显示它。如果您可以为您的 Workspace 对象编写一个 toString,那么这将解决您的问题。如果您不能修改 Workspace 对象,那么您应该创建一个包装器对象,其中包含您想要的 toString

关于java - 将对象保存在 JTree 中但更改显示的名称(java swing)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4797909/

相关文章:

Java - 无法从 JComboBox 获取所选项目

java - foreach循环java中的数组错误

java - 将 JSON 从 ajax 发布到 Struts2 Action

java - 是否有清晰的数据库查询代码

java - 如何使 JTable 在 Java 中可编辑

java - swing应用程序支持动态代码编译吗?

java - JOptionPane showConfirmDialog 只有一个按钮

java - 在悬停在 JTree 中的节点上更改鼠标光标

java - JTree如何将叶节点设置为可扩展

java - 编辑中返回意外值 - JTree