我制作了一个 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/