首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DefaultMutableTreeNode-文本太长?

DefaultMutableTreeNode-文本太长?
EN

Stack Overflow用户
提问于 2011-10-05 21:44:13
回答 2查看 1.2K关注 0票数 0

我有一些DefaultMutableTreeNode,当程序运行时,我可以更改文本并重新验证它。但如果文本太长,例如文本“已测试”,则文本将显示为"te...“。

我如何改变这一点?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-05 22:07:31

你必须阅读如何使用TreeCellRenderer

  • if的tutorial about JTree和示例然后请更新你的问题并添加SSCCE form

中的代码

票数 1
EN

Stack Overflow用户

发布于 2011-10-05 22:40:20

潜在的原因是树节点的布局被缓存,缓存没有正确更新。可能是f.i.如果节点在模型脚下发生更改,请取消对nodeChanged的注释以查看差异

代码语言:javascript
复制
    JTree tree = new JTree();
    DefaultMutableTreeNode root = (DefaultMutableTreeNode) tree.getModel().getRoot();
    int index = 0;
    DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
    String result = "\n";
    Enumeration<?> enumer = root.preorderEnumeration();
    while (enumer.hasMoreElements()) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode) enumer.nextElement();
        String nodeValue = String.valueOf(node.getUserObject());
        node.setUserObject(nodeValue + ": " + index++);
       //model.nodeChanged(node);
    }

在您的上下文中确切的原因可能会有所不同,没有sscce就无法判断。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7662251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档