Используйте конструктор JTree, который принимает объект TreeNode и передает объект DefaultMutableTreeNode. Класс DefaultMutableTreeNode - это класс, который позволяет добавлять или удалять узлы, а не класс JTree. API покажет вам это. Согласно JTree API, конструктор, который вы используете new JTree();
, создает объект JTree с «образцом» модели - зачем вам это нужно?
Если вы настаиваете на том, как действовать, вы можете получить TreeModel из JTree, привести к DefaultTreeModel, а затем вызвать его метод setRoot(...)
. Но это сопряжено с определенным риском при кастинге, и вам нужно будет проверить, чтобы убедиться, что модель верного типа перед кастингом.
final JTree tree = new JTree();
TreeModel model = tree.getModel();
if (model instanceof DefaultTreeModel) {
DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel();
DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
treeModel.setRoot(root);
}