JTreeを動的に生成する方法について質問があります。子も非表示にせずにルートノードを非表示に設定する方法はありますか?次のことを試みましたが、すべてのノードが非表示として表示されます。ルートノードの子をいつでも追加および削除したいことを覚えておいてください。コメントを追加したので、私がやろうとしていることをフォローしてください。私はJTreeに不慣れで、規則がわからないので、彼らが私が必要としないことをしているのかどうか教えてください。また、リスナーに複数の子を選択できるようにしたいと思います。
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)」を削除すると、ノードを含むすべてが表示されます。