ioboi
ioboi

Reputation: 1118

DefaultMutableTreeNode-Text is too long?

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

Upvotes: 0

Views: 1337

Answers (2)

kleopatra
kleopatra

Reputation: 51535

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

Upvotes: 1

mKorbel
mKorbel

Reputation: 109823

Upvotes: 1

Related Questions