DefaultMutableTreeNode-Text 太长?

发布于 2024-12-08 10:56:05 字数 123 浏览 0 评论 0原文

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

我该如何改变这个?

谢谢

I have some DefaultMutableTreeNode's.
While the programm's running, I can change the text and revalidate it.
But if the text is too long, so for example the text "tested", the text will be displayed as "te...".

How do I change this ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拧巴小姐 2024-12-15 10:56:05
澜川若宁 2024-12-15 10:56:05

根本原因是树节点的布局被缓存并且缓存没有正确更新。如果模型脚下的节点发生更改,可能会发生这种情况,取消注释 nodeChanged 以查看差异

    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 就无法判断

the underlying reason is that the layout of the tree nodes is cached and the cache not updated properly. Might f.i. happen if the node is changed under feet of the model, uncomment the nodeChanged to see the difference

    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);
    }

The exact reason in your context might vary, no way to tell without an sscce

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文