簡體   English   中英

DefaultMutableTreeNode-Text太長了?

[英]DefaultMutableTreeNode-Text is too long?

我有一些DefaultMutableTreeNode。 程序運行時,我可以更改文本並重新驗證它。 但是如果文本太長,例如文本“已測試”,則文本將顯示為“te ...”。

我該如何改變?

謝謝

根本原因是樹節點的布局被緩存並且緩存未正確更新。 如果在模型的腳下更改節點,則可能會發生錯誤,取消注釋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也無法判斷

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM