我有一个关于如何动态生成 JTrees 的问题。有没有办法在不使其子节点不可见的情况下将根节点设置为不可见?我尝试执行以下操作,但它将所有节点显示为不可见。请记住,我想随时添加和删除根节点的子节点。我添加了评论,以便您可以按照我的意图进行操作。让我知道他们是否在做我不需要的事情,因为我是 JTrees 的新手并且不知道约定。我还希望能够为听众选择多个孩子。
DefaultMutableTreeNode rootNode;
rootNode = new DefaultMutableTreeNode(); //I want this invisible.
DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
JTree tree = new JTree(treeModel);
treeModel.addTreeModelListener(this);
tree.setRootVisible(false); // Sets everything invisible
tree.setEditable(true); //makes tree dynamic
tree.setShowsRootHandles(true); //supposedly allows you to see the children of the nodes.
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
//I would like the line above to be multi-select; however, this doesn't seem to be an option.
DefaultMutableTreeNode table = new DefaultMutableTreeNode( "table1");
rootNode.add(book);
DefaultMutableTreeNode value = new DefaultMutableTreeNode( "value");
table.add(value);
在上面的例子中。什么都没有显示,当我删除“tree.setRootVisible(false)”时,一切都是可见的,包括节点。