У меня есть вопрос о том, как динамически генерировать 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)», все видно, включая узел.